PHPでExcelを処理する手順の紹介
遭遇した問題
日常の仕事で、データベーステーブルをExcelにエクスポートしたり、Excelをデータベーステーブルにインポートしたりする必要がよくあります。この要件はずっと前から実現されており、輸出入を容易にするために、Brothers www.lampbrother.net は記録として 2 つの方法に分けています。
コードの実装
phpexcel クラス ライブラリへの参照
phpexcel は強力な Excel 処理機能を備えており、packagist で何百万回もダウンロードされていますが、正直に言うと、Excel の処理速度は依然として非常に遅いです。大きい使用。 packagegist からダウンロードするか、composer require phpoffice/phpexcel を使用して直接ダウンロードした後、phpexcel を使用できるようになります。
Excel へのエクスポート
ほとんどの場合、Excel へのエクスポートは、実際には 2 桁の配列をテーブルに変換することです。
名前空間 PHPExcel を使用します;
/**
* @param $name string 保存する Excel の名前
* @param $ret_data テーブルの 2 次元配列に変換
* @throws PHPExcel_Exception
* @throws PHPExcel_Reader_Exception
*/
function exportExcel($name, $ret_data){
$objPHPExcel = new PHPExcel();
//テーブルを設定します
$objPHPExcel->getProperties()- > ;setCreator($name)
007 Office 2007 foreach のテスト ドキュメント ($ret_data as $key => $row) {
を使用して を使用して「 」を使用することを通じて、「 」を使用することを通じて、「 」を使用することを通じて - - $ key => $行)) ; // テーブルを設定して出力
$objPHPExcel->getActiveSheet()->setTitle($name);
header('Content-Type: application/vnd.ms-excel');
header("Content-性質:attachment;filename={$ name}.xls");
header('Cache-Control: max-age=0');
header('Cache-Control: max-age=1');
header( 'Last-Modified: ' . gmdate ('D, d M Y H:i:s') .
header('Cache-Control: キャッシュ、must-revalidate');
header('Pragma: public' ); // HTTP/1.0
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); Excel のデータは 2 次元配列に変換されるため、Excel はその形式に準拠する必要があります。
関数getRows($ inputFileName)
$inputFileType = PHPExcel_IOFactory::identify($inputFileName);
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load($inputFileName);
$objP HPExcel->getActiveSheet ();
$highestRow = $objWorksheet->getHighestRow();
$highestColumn = $objWorksheet->getHighestColumn();
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);//总列数
$row = 1;
$curr = array();
while ($row for ($col = 0; $col $value = str_replace(array( "n", "nr", "r"), "", $objWorksheet->getCellByColumnAndRow($col, $row)->getValue());
$curr[$row][] = $value;
}
$row++;
}
array_shift($curr);//第1回一般は字段名(Excel中列の标题)、导入時要除
return $curr;
}
その他
导出時保存フォーマットは xlsx で、他のフォーマットに変更するには、別のパラメータを入力する必要があります。プログラム内でシート名に基づいてシートを選択します。
以上、php 读写エクセル php 処理 Excel ステップを介して、php 读写エクセルに関する内容が含まれており、PHP 教程に関心のある友人の助けになることを望みます。