日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php 导入表格数据,PHPExcel 导入Excel数据的方法

發布時間:2025/3/12 php 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php 导入表格数据,PHPExcel 导入Excel数据的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這篇文章主要介紹了關于PHPExcel 導入Excel數據的方法,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

一:使用composer下載 phpoffice/phpexcel 或者直接下載安裝包composer require phpoffice/phpexcel

1:導入數據

原理:讀取文件,獲取文件的最大行,最大列。然后組裝數據,導入數據庫。

注意:如果你的Excel文件是加密的話是讀取不了的,我真的在這上面浪費了很多時間,如果有誰知道如何解決,麻煩告知一二謝謝。

我們來看看如何具體實現

實現方法public static function importExcel($file = '', $sheet = 0)

{

$file = iconv("utf-8", "gb2312", $file); //轉碼

if (empty($file) OR !file_exists($file)) {

die('file not exists!');

}

$objRead = new PHPExcel_Reader_Excel2007(); //建立reader對象

if (!$objRead->canRead($file)) {

$objRead = new PHPExcel_Reader_Excel5();

if (!$objRead->canRead($file)) {

die('No Excel!');

}

}

$cellName = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q',

'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI',

'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ']; $obj = $objRead->load($file); //建立excel對象

$currSheet = $obj->getSheet($sheet); //獲取指定的sheet表

$columnH = $currSheet->getHighestColumn(); //取得最大的列號

$columnCnt = array_search($columnH, $cellName);

$rowCnt = $currSheet->getHighestRow(); //獲取總行數

$data = [];

for ($_row = 1; $_row <= $rowCnt; $_row++) { //讀取內容

for ($_column = 0; $_column <= $columnCnt; $_column++) {

$cellId = $cellName[$_column] . $_row;

$cellValue = $currSheet->getCell($cellId)->getValue();

$data[$_row][$_column] = $cellValue;

}

} $return_data = [];

foreach ($data as $k => $v) {

if ($k > 1) {

$test = array_combine($data[1], $data[$k]);

array_push($return_data, $test);

}

}

return $return_data;

}

//精簡版public static function importExcel($file = '', $sheet = 0)

{ $file = iconv("utf-8", "gb2312", $file); //轉碼

if (empty($file) OR !file_exists($file)) {

die('file not exists!');

} $objRead = new PHPExcel_Reader_Excel2007(); //建立reader對象

if (!$objRead->canRead($file)) {

$objRead = new PHPExcel_Reader_Excel5();

if (!$objRead->canRead($file)) {

die('No Excel!');

}

}

$obj = $objRead->load($file); //建立excel對象

$data =$obj->getSheet($sheet)->toArray();//獲取為數組

$return_data = [];

foreach ($data as $k => $v) {

if ($k > 0) {

$test = array_combine($data[0], $data[$k]);

array_push($return_data, $test);

}

}

return $return_data;

}

注意如果文件過大,PHP讀取會過長,我們可以設置。set_time_limit(0);//0代表永久

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

總結

以上是生活随笔為你收集整理的php 导入表格数据,PHPExcel 导入Excel数据的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。