我有一个包含 3070 个值的多维数组
$tbl= array(
array(
"KDNR" => 1,
"GESCHL" => "test",
"TITEL" => "test",
"VORNAME" => "test",
"FAMNAME" => "test",
"PLZ" => "test",
"ORT" => "test",
"STRASSE" => "test",
"EMAIL" => "test",
"PRIVTEL" => "test"
),
"KDNR" => 2,
"GESCHL" => "test2",
"TITEL" => "test2",
"VORNAME" => "test2",
"FAMNAME" => "test2",
"PLZ" => "test2",
"ORT" => "test2",
"STRASSE" => "test2",
"EMAIL" => "test2",
"PRIVTEL" => "test2"
),
etc...
);
我想将具有 3070 个数组的数组 tbl 写入 xlsx 文件。我用于这个 PhpSpreadsheet。
这是我的 php 代码:
<?php
//call the autoload
require($_SERVER['DOCUMENT_ROOT'].'/src/phpspreadsheet/vendor/autoload.php');
//load phpspreadsheet class using namespaces
use PhpOffice\PhpSpreadsheet\Spreadsheet;
//call iofactory instead of xlsx writer
use PhpOffice\PhpSpreadsheet\Aligment;
use PhpOffice\PhpSpreadsheet\Fill;
use PhpOffice\PhpSpreadsheet\IOFactory;
//load from xlsx template
$reader = IOFactory::createReader('Xlsx');
$spreadsheet = $reader->load($_SERVER['DOCUMENT_ROOT']. '/src/ExcelVorlagen/polbezirk_template.xlsx');
//loop the data
$contentStartRow = 3;
$currentContenRow = 3;
//set coulm dimension to auto size
$spreadsheet->getActiveSheet()
->getColumnDimension('A')
->setAutoSize(true);
$spreadsheet->getActiveSheet()
->getColumnDimension('B')
->setAutoSize(true);
$spreadsheet->getActiveSheet()
->getColumnDimension('C')
->setAutoSize(true);
$spreadsheet->getActiveSheet()
->getColumnDimension('D')
->setAutoSize(true);
$spreadsheet->getActiveSheet()
->getColumnDimension('E')
->setAutoSize(true);
$spreadsheet->getActiveSheet()
->getColumnDimension('F')
->setAutoSize(true);
$spreadsheet->getActiveSheet()
->getColumnDimension('G')
}
当我执行代码时,创建 xlsx 文件需要 49 分钟,它只需要 3070 行。有更快的方法吗?或者我的代码中有 ia 瓶颈?
人到中年有点甜
HUX布斯
慕雪6442864