0
我使用PHPExcel Reader函数将excel文件转换为HTML表格。PHPExcel内存错误
我得到这个错误:致命错误:内存(分配1827405824)(试图分配106个字节)
我已经改变了我对memory_limit的2048M在我的php.ini文件..
仍然收到错误..
那么我怎样才能只加载我的Excel文件的第一张,它也许可以解决我的问题?
$excel = glob(''.$test.'\\'.$client.'.{xlsx,xls,xlsm,xlsm.ink}',GLOB_BRACE);
$filterSubset = new \PHPExcel_Reader_DefaultReadFilter('A','N');
$objReader = \PHPExcel_IOFactory::createReaderForFile($excel[0]);
$objReader->setReadFilter($filterSubset);
$objPHPExcel = $objReader->load($excel[0]);
## THIS DOESNT WORK ?! ##
$objPHPExcel->setActiveSheetIndex(1);
$links = $objPHPExcel->getActiveSheet()->getHyperlinkCollection();
var_dump($links);
foreach ($links as $link){
$url = $link->getUrl();
$url = str_replace('file','mnt', $url);
$link->setUrl($url);
}
$writer = \PHPExcel_IOFactory::createWriter($objPHPExcel, "HTML");
$writer->generateStyles();
$writer->generateSheetData();
编辑:
我那样做:
public function showClientAction($client)
{
$excel = glob(''.$path'.{xlsx,xls,xlsm,xlsm.ink}', GLOB_BRACE);
$filterSubset = new \PHPExcel_Reader_DefaultReadFilter('A','N');
$objReader = \PHPExcel_IOFactory::createReaderForFile($excel[0]);
$objReader->setReadFilter($filterSubset);
$worksheetList = $objReader->listWorksheetNames($excel[0]);
$sheetname = $worksheetList[0];
/** Advise the Reader of which WorkSheets we want to load **/
$objReader->setLoadSheetsOnly($sheetname);
$objPHPExcel = $objReader->load($excel[0]);
var_dump($sheetname);
$writer = \PHPExcel_IOFactory::createWriter($objPHPExcel, "HTML");
$writer->generateStyles();
$writer->generateSheetData();
return $this->render('MonextPerfclientBundle:Default:testexcel.html.twig', array(
'excelHtml'=>$writer,
'stylesExcel'=>$writer,
));
}
的var_dump($sheetname);
输出是很好的,它的伟大工程!
但我怎么能确定只加载第一张?
它不似乎是一个更快的加载.. * scuze我的英语..
是否可以加载和显示我的Excel文件中的过滤器,并通过HTML表格将其转换为下拉按钮? –