1. 程式人生 > 其它 >phpexcel不完全研究(二)匯入excel檔案

phpexcel不完全研究(二)匯入excel檔案

技術標籤:phpPHP框架excelcsvphpexcel

有匯出。自然就有匯入。功能多樣化嘛。

不廢話了,上程式碼。

我這裡使用的是tninkphp3.2框架

/**
     * 匯入excel
     */
    public function putExcel()
    {
        ini_set('max_execution_time', '0');
        Vendor('PHPExcel.PHPExcel.IOFactory');
        // 真實路徑 ./ThinkPHP/Library/Vendor/PHPExcel/PHPExcel/IOFactory.php
$filename = '訂單列表2018-12-2011_21_31.xls'; // 獲取檔案字尾名 $ext = $myext = substr($filename, strrpos($filename, '.')); // 這個一定要判斷,不然會報錯。 if ($ext == '.xls') { //如果excel檔案字尾名為.xls,匯入這個類 $reader = \PHPExcel_IOFactory::createReader('Excel5'); }
else { //如果excel檔案字尾名為.xlsx,匯入這個類 $reader = \PHPExcel_IOFactory::createReader('Excel2007'); } $PHPExcel = $reader->load("./uploads/excel/訂單列表2018-12-2011_21_31.xls"); // 載入excel檔案 $sheet = $PHPExcel->getSheet(0); // 讀取第一個工作表 $highestRow
= $sheet->getHighestRow(); // 取得總行數 $highestColumm = $sheet->getHighestColumn(); // 取得總列數 $array = []; /** 迴圈讀取每個單元格的資料 */ for ($row = 1; $row <= $highestRow; $row++){//行數是以第1行開始 $dataset = []; for ($column = 'A'; $column <= $highestColumm; $column++) {//列數是以A列開始 $dataset[] = $sheet->getCell($column.$row)->getValue(); } $array[] = $dataset; } var_dump($array);die; }

寫到這裡,就可以把你的excel檔案中的資料讀取成為一個二維陣列了。

之後就是將將二維陣列中的資料插入資料庫。

這個就不做演示了。

如果你的excel表格中有標題。按上邊的程式碼將excel中的資料讀取出之後,你會發現,二維陣列中的第一個陣列是標題,這個再執行寫入資料庫的時候要注意。

其他的,就沒有什麼了。

有好的建議,請在下方輸入你的評論。

歡迎訪問個人部落格
https://guanchao.site

歡迎訪問小程式:
在這裡插入圖片描述