【发布时间】:2014-02-13 07:20:02
【问题描述】:
我有以下脚本。
我想将 9 个(每个 xlsx 10000 行)xlsx 合并为一个。
我找到了这个脚本,前三个运行一次,前四个运行一次,但没有扩展到 9。
现在添加了 setREadDataOnly 但这也不起作用。 还有其他方法可以合并还是我错过了一些设置?
脚本: require_once 'PHPExcel.php'; require_once 'PHPExcel/Writer/Excel2007.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');
【问题讨论】: