PHPExcel在同一个网页中不能有2个阅读器?

时间:2014-03-25 04:54:04

标签: php phpexcel

我使用PHPExcel读取3个文件。其中2个是xls,其中1个是xlsx。我为该任务创建了2个阅读器,但遇到了错误。

HTTP Error 500.0 - Internal Server Error
C:\AppServ\php5\php-cgi.exe - The FastCGI process exited unexpectedly

这是我的代码

$inputFileType = PHPExcel_IOFactory::identify($conPath);
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load($conPath);

$objReader = PHPExcel_IOFactory::createReader("Excel5");
$objPHPExcelShip = $objReader->load("Ship to mapping.xls");
$objPHPExcelMat = $objReader->load("Material Mapping.xls");

$inputFileType对于上传文件的类型(xlsx。)是可变的。如果我上传xls,代码工作正常。但如果上传的文件是xlsx,则会出错。

请帮忙。

1 个答案:

答案 0 :(得分:0)

如果您为每个读者实例使用相同的变量,则不能:您需要为您实例化的每个读者使用单独的读者实例:

$objReader1 = PHPExcel_IOFactory::createReader("Excel5");
$objPHPExcelShip = $objReader1->load("Ship to mapping.xls");
$objReader2 = PHPExcel_IOFactory::createReader("Excel5");
$objPHPExcelMat = $objReader2->load("Material Mapping.xls");

或(至少)在加载时为每个文件实例化一个新的阅读器

$objReader = PHPExcel_IOFactory::createReader("Excel5");
$objPHPExcelShip = $objReader->load("Ship to mapping.xls");
$objReader = PHPExcel_IOFactory::createReader("Excel5");
$objPHPExcelMat = $objReader->load("Material Mapping.xls");