この記事では主に Excel データを PHPExcel にインポートする方法を紹介します。これには特定の参考値があります。今私はそれをあなたと共有します。必要な友人はそれを参照できます。
1: 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; }//Lite版
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 中国語 Web サイトをご覧ください。 関連する推奨事項:
PHP Excel から MySQL データベースにデータをインポートする方法
php でプロジェクト ファイルから BOM ヘッダーを削除する方法バッチ
以上がPHPExcelでExcelデータをインポートする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。