我使用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,则会出错。
请帮忙。
答案 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");