[轉載]PHP用PHPExcel 對excel進行讀寫並寫入到mysql數據庫

//先下載好PHPExcel 放在與腳本同目錄中
<?php
//ini_set("memory_limit","4096M");
//ini_set(”memory_limit”,”4096M”);

header("Content-Type: text/html;charset=utf-8"); 
$serverName = "";
$username = "root";//linux數據庫名稱
$password = "ssdddd";//數據庫密碼
$dbname = "jenkinsdata";//自己創建的數據庫名
// 創建連接
ini_set('memory_limit', '512M');
$conn = new mysqli($serverName,$username, $password, $dbname);
// 檢測連接
if ($conn->connect_error) {
    die("連接失敗: " . $conn->connect_error);
}    

//開始用PHPExcel進行讀寫
$tmp_name = './新建 Microsoft Excel 工作表.xlsx';
$uploadfile = 'C:\\wamp64\\www\\dist\\aa.xlsx';
error_reporting(E_ALL);
/** Include path **/
set_include_path(get_include_path() . PATH_SEPARATOR . '../phpexcel/');
/** PHPExcel */
include 'PHPExcel.php';
/** PHPExcel_IOFactory */
include 'PHPExcel/IOFactory.php';
/** PHPExcel_Reader */
include 'PHPExcel/Reader/Excel5.php';
include 'PHPExcel/Reader/Excel2007.php';
        //var_dump($filename);
         // if($extend==".xlsx"){
             //PHPExcel_CachedObjectStorageFactory::cache_in_memory_serialized; 
             //$cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_in_memory;  
            $cacheMethod =PHPExcel_CachedObjectStorageFactory::cache_in_memory; 

            PHPExcel_Settings::setCacheStorageMethod($cacheMethod);  
               $objReader = PHPExcel_IOFactory::createReader('Excel2007');//use excel2007 for 2007 format 
        //}
        //else{
        //        $objReader = PHPExcel_IOFactory::createReader('Excel5');//use excel2007 for 2007 format 
        //}
        $objPHPExcel = $objReader->load($uploadfile); 
        $sheet = $objPHPExcel->getSheet(0); 
        $highestRow = $sheet->getHighestRow();           //取得總行數 
        $highestColumn = $sheet->getHighestColumn(); //取得總列數
        //var_dump($highestRow);
        //var_dump($highestColumn);
       
        $objWorksheet = $objPHPExcel->getActiveSheet();
        //var_dump($objWorksheet);
        $highestRow = $objWorksheet->getHighestRow(); 
       // echo 'highestRow='.$highestRow;
       // echo "<br>";
        $highestColumn = $objWorksheet->getHighestColumn();
        $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);//總列數
        //var_dump($highestColumnIndex);
       // echo 'highestColumnIndex='.$highestColumnIndex;
       // echo "<br>";
        $headtitle=array(); 
        $Datas='';
        //var_dump($filename);
       // for ($row = 1;$row <= $highestRow;$row++) //從第一行開始讀取數據
         for ($row = 0;$row < $highestRow;$row++) //從第二行開始讀取數據,一般第一行作爲名稱
        {
            $Datasvalue;
            $Datasvalue1;
            $Datasvalue2;
            $Datasvalue3;
            $Datasvalue4;
            $Datasvalue5;
            $Datasvalue6;
            $Datasvalue7;
            $Datasvalue8;
            $Datasvalue9;
            $Datasvalue10;
            $Datasvalue11;
            $Datasvalue12;
            $Datasvalue13;
            $Datasvalue14;
            $Datasvalue15;
            $Datasvalue16;
            $Datasvalue17;
            $Datasvalue18;
            $Datasvalue19;
            $Datasvalue20;
            $Datasvalue21;
            $Datasvalue22;
            $Datasvalue23;
            $Datasvalue24;
            $Datasvalue25;
            $Datasvalue26;
            $Datasvalue26;
            $Datasvalue28;
            $Datasvalue29;
            $Datasvalue30;
            $Datasvalue31;
            $Datasvalue32;
            $Datasvalue33;
            $Datasvalue34;
            $Datasvalue35;
            $Datasvalue36;
            $Datasvalue37;
            //
            $strs=array();
            //注意highestColumnIndex的列數索引從0開始
            for ($col = 0;$col < $highestColumnIndex;$col++)
            {
                $strs[$col] =$objWorksheet->getCellByColumnAndRow($col, $row)->getValue();
                $Datas->jobs[$row][$col]= $strs[$col];
            } 
            //var_dump($col);
            //var_dump($Datass);
            $Datasvalue=$Datas->jobs[$row][0];
            $Datasvalue = str_replace("'","\'",$Datasvalue ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue1=$Datas->jobs[$row][1];
            $Datasvalue1 = str_replace("'","\'",$Datasvalue1 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue2=$Datas->jobs[$row][2];
            $Datasvalue2 = str_replace("'","\'",$Datasvalue2 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue3=$Datas->jobs[$row][3];
            $Datasvalue3 = str_replace("'","\'",$Datasvalue3 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue4=$Datas->jobs[$row][4];
            $Datasvalue4 = str_replace("'","\'",$Datasvalue4 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue5=$Datas->jobs[$row][5];
            $Datasvalue5 = str_replace("'","\'",$Datasvalue5 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue6=$Datas->jobs[$row][6];
            $Datasvalue6 = str_replace("'","\'",$Datasvalue6 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue7=$Datas->jobs[$row][7];
            $Datasvalue7 = str_replace("'","\'",$Datasvalue7 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue8=$Datas->jobs[$row][8];
            $Datasvalue8 = str_replace("'","\'",$Datasvalue8 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue9=$Datas->jobs[$row][9];
            $Datasvalue9 = str_replace("'","\'",$Datasvalue9 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue10=$Datas->jobs[$row][10];
            $Datasvalue10 = str_replace("'","\'",$Datasvalue10 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue11=$Datas->jobs[$row][11];
            $Datasvalue11 = str_replace("'","\'",$Datasvalue11 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue12=$Datas->jobs[$row][12];
            $Datasvalue12 = str_replace("'","\'",$Datasvalue12 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue13=$Datas->jobs[$row][13];
            $Datasvalue13 = str_replace("'","\'",$Datasvalue13 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue14=$Datas->jobs[$row][14];
            $Datasvalue14 = str_replace("'","\'",$Datasvalue14); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue15=$Datas->jobs[$row][15];
            $Datasvalue15 = str_replace("'","\'",$Datasvalue15 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue16=$Datas->jobs[$row][16];
            $Datasvalue16 = str_replace("'","\'",$Datasvalue16 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue17=$Datas->jobs[$row][17];
            $Datasvalue17 = str_replace("'","\'",$Datasvalue17 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue18=$Datas->jobs[$row][18];
            $Datasvalue18 = str_replace("'","\'",$Datasvalue18 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue19=$Datas->jobs[$row][19];
            $Datasvalue19 = str_replace("'","\'",$Datasvalue19 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue20=$Datas->jobs[$row][20];
            $Datasvalue20 = str_replace("'","\'",$Datasvalue20 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue21=$Datas->jobs[$row][21];
            $Datasvalue21 = str_replace("'","\'",$Datasvalue21 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue22=$Datas->jobs[$row][22];
            $Datasvalue22 = str_replace("'","\'",$Datasvalue22 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue23=$Datas->jobs[$row][23];
            $Datasvalue23 = str_replace("'","\'",$Datasvalue23 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue24=$Datas->jobs[$row][24];
            $Datasvalue24 = str_replace("'","\'",$Datasvalue24 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue25=$Datas->jobs[$row][25];
            $Datasvalue25 = str_replace("'","\'",$Datasvalue25 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue26=$Datas->jobs[$row][26];
            $Datasvalue26 = str_replace("'","\'",$Datasvalue26 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue27=$Datas->jobs[$row][27];
            $Datasvalue27 = str_replace("'","\'",$Datasvalue27 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue28=$Datas->jobs[$row][28];
            $Datasvalue28 = str_replace("'","\'",$Datasvalue28 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue29=$Datas->jobs[$row][29];
            $Datasvalue29 = str_replace("'","\'",$Datasvalue29 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue30=$Datas->jobs[$row][30];
            $Datasvalue30 = str_replace("'","\'",$Datasvalue30 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue31=$Datas->jobs[$row][31];
            $Datasvalue31 = str_replace("'","\'",$Datasvalue31 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue32=$Datas->jobs[$row][32];
            $Datasvalue32 = str_replace("'","\'",$Datasvalue32 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue33=$Datas->jobs[$row][33];
            $Datasvalue33 = str_replace("'","\'",$Datasvalue33 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue34=$Datas->jobs[$row][34];
            $Datasvalue34 = str_replace("'","\'",$Datasvalue34 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue35=$Datas->jobs[$row][35];
            $Datasvalue35 = str_replace("'","\'",$Datasvalue35 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            $Datasvalue36=$Datas->jobs[$row][36];
            $Datasvalue36 = str_replace("'","\'",$Datasvalue36 ); //去掉字符串中的分隔符 或者替換字符串中的某個值
            //$Datasvalue37=$Datas->jobs[$row][37];
            
         //將讀取的excel數據寫入數據庫
            $sql = "INSERT INTO `tscgarmanage`(`ID`, `Grammar`, `Chinese`, `Source`, `English`, `Lithuanian`, `Russian`, `Greek`, `Italiano`, `Czech`, `Slovensko`, `French`, `Nederlandse`, `Bulgarian`, `Portuguese`, `PortugueseBrazil`, `Spainish`, `Polski`, `Magyar`, `Deutsch`, `Croatian`, `Hebrew`, `Finnish`, `Korean`, `TraditionalChinese`, `Thai`, `Malaysia`, `Vietnamese`, `Japanese`, `Turkish`, `Danish`, `Swedish`, `Norwegian`, `Romanian`, `Slovenian`, `Serbian`, `Estonian`) VALUES ('$Datasvalue','$Datasvalue1','$Datasvalue2','$Datasvalue3','$Datasvalue4','$Datasvalue5','$Datasvalue6','$Datasvalue7','$Datasvalue8','$Datasvalue9','$Datasvalue10','$Datasvalue11','$Datasvalue12','$Datasvalue13','$Datasvalue14','$Datasvalue15','$Datasvalue16','$Datasvalue17','$Datasvalue18','$Datasvalue19','$Datasvalue20','$Datasvalue21','$Datasvalue22','$Datasvalue23','$Datasvalue24','$Datasvalue25','$Datasvalue26','$Datasvalue27','$Datasvalue28','$Datasvalue29','$Datasvalue30','$Datasvalue31','$Datasvalue32','$Datasvalue33','$Datasvalue34','$Datasvalue35','$Datasvalue36')";
            if ($conn->query($sql) === TRUE) {
                                echo "新記錄插入成功2";
                                } else {
                                    echo "Error: " . $sql . "<br>" . $conn->error;
                            }
            
            var_dump($row);

        //var_dump($zyvalue);
            
        }

?>
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章