我有以下脚本。PHPexcel将9 xlsx合并为一个
我想结合9(10000行/ xlsx)xlsx到一个。
我发现这个脚本并运行一个时间的前三个,然后其他时间,第4位,但不延长到9
现在有加setREadDataOnly但是,这并不工作。 还有另一种合并方式,或者我错过了一些设置吗?
脚本: require_once'PHPExcel.php'; require_once'PHPExcel/Writer/Excel2007.php'; require_once'PHPExcel/Writer/Excel2007.php'; require_once'PHPExcel/IOFactory.php'; require_once'PHPExcel/IOFactory.php';
$objReader = PHPExcel_IOFactory::createReaderForFile("big.xlsx");
$objReader->setReadDataOnly(true);
$objPHPExcel1 = $objReader->load("big.xlsx");
for($x=1; $x <= 9;$x++ ){
$objReader2 = PHPExcel_IOFactory::createReaderForFile("000$x.xlsx");
$objReader2->setReadDataOnly(true);
$objPHPExcel2 = $objReader2->load("000$x.xlsx");
$findEndDataRow2 = $objPHPExcel2->getActiveSheet()->getHighestRow();
$findEndDataColumn2 = $objPHPExcel2->getActiveSheet()->getHighestColumn();
$findEndData2 = $findEndDataColumn2 . $findEndDataRow2;
$data2 = $objPHPExcel2->getActiveSheet()->rangeToArray('A2:' . $findEndData2);
$appendStartRow = $objPHPExcel1->getActiveSheet()->getHighestRow() + 1;
$objPHPExcel1->getActiveSheet()->fromArray($data2, null, 'A' . $appendStartRow);
}
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel1, 'Excel2007');
$objWriter->save('big.xlsx');
好吧,我会试试这个。日Thnx!我让你知道它的作品! – Bas
该脚本仍在运行并且没有数据被追加。还有其他小费吗? Tnx – Bas
查看日志,看看是否有错误产生!我提到超时或内存问题的可能性,找出是否发生了什么 –