PHPExcel无法打开文件

时间:2014-05-21 10:24:01

标签: php phpexcel

我试图打开xlsx文件,修改它并用其他名称保存。它本来应该很简单,但他没有工作。

文件是292 Ko,只有1个单元格的空文件

这是我的代码:

<?php
error_reporting(E_ALL);
date_default_timezone_set('Europe/London');
set_include_path('./lib/PHPExcel/Classes/');
require_once('PHPExcel/IOFactory.php');

ini_set('memory_limit','128M');

$toModifyPath = "./toModify.xlsx";
$outPath = "./out.xlsx";
$fileType = "Excel2007";


echo '<p>Starting...</p>';



//Open
$objReader = PHPExcel_IOFactory::createReader($fileType);
$objPHPExcel = $objReader->load($toModifyPath) //<-- THIS LINE IS BLOCKING WITH NO ERROR
echo '<p>Opened</p>';


//Starting from here, it's working

//Modify
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setCellValue('C6', '4')->setCellValue('C7', '5')->setCellValue('C8', '6')->setCellValue('C9', '7');
echo '<p>Modifed</p>';

//Save
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, $fileType);
$objWriter->save($outPath);
echo '<p>Saved</p>';

echo '<p>Done !</p>';

?>

输出是&#34;开始......&#34;所以行$objPHPExcel = $objReader->load($toModifyPath)阻塞没有错误,我不明白为什么。任何人都有线索?

PHP版本5.2.3 PHPExcel 1.8

1 个答案:

答案 0 :(得分:0)

如果您要加载(或&#34;阅读&#34;)现有的Excel文件,请使用以下代码:

解决方案1:您必须使用特定的PHPExcel Reader

<?php
require_once dirname(__FILE__).'/phpexcel/Classes/PHPExcel.php';

$file_name = 'excel_file.xlsx';

// Choose a specific Excel reader
$objReader = new PHPExcel_Reader_Excel5();
// $objReader = new PHPExcel_Reader_Excel2007();
// $objReader = new PHPExcel_Reader_Excel2003XML();
// $objReader = new PHPExcel_Reader_OOCalc();
// $objReader = new PHPExcel_Reader_SYLK();
// $objReader = new PHPExcel_Reader_Gnumeric();
// $objReader = new PHPExcel_Reader_CSV();

$objPHPExcel = $objReader->load($file_name);
?>

解决方案2:您可以使用此代码加载任何PHP Excel文件

<?php
require_once dirname(__FILE__).'/phpexcel/Classes/PHPExcel.php';
require_once dirname(__FILE__).'/phpexcel/IOFactory.php';
$file_name = 'excel_file.xls';
$objPHPExcel = PHPExcel_IOFactory::load($file_name);
?>