2012-01-10 134 views

回答

50

您使用reader和load()方法将文件加载到PHPExcel中,然后使用writer和save()方法保存该文件...但PHPExcel本身并不知道PHPExcel对象的来源。它并不关心你是否从一个文件(或什么类型的文件)加载它或手动创建它。

因此,没有“读/写开放”的概念。您只需按名称读取文件,并保存到相同的文件名。这将覆盖您在脚本中所做的任何更改的原始文件。

编辑

error_reporting(E_ALL); 
set_time_limit(0); 

date_default_timezone_set('Europe/London'); 
set_include_path(get_include_path() . PATH_SEPARATOR . './Classes/'); 

include 'PHPExcel/IOFactory.php'; 

$fileType = 'Excel5'; 
$fileName = 'testFile.xls'; 

// Read the file 
$objReader = PHPExcel_IOFactory::createReader($fileType); 
$objPHPExcel = $objReader->load($fileName); 

// Change the file 
$objPHPExcel->setActiveSheetIndex(0) 
      ->setCellValue('A1', 'Hello') 
      ->setCellValue('B1', 'World!'); 

// Write the file 
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, $fileType); 
$objWriter->save($fileName); 

我可以建议你阅读文档,并查看示例代码/测试

+3

难道你写的代码示例解释一下吗?当你说'使用reader和load()方法,然后使用一个writer和save()方法'保存这个文件时,我不明白你说的是两个不同的对象(一个读者,一个作者),但是我需要打开文件,修改一些单元格并将同一个对象保存到文件中。 – Petruza 2012-01-10 19:46:12

+0

这可能会导致“允许的内存大小xxxx字节耗尽”,可以修复吗? – daver 2013-08-14 14:09:38

+0

它可能是固定的,可以查看有关内存处理的文档化建议和建议,例如使用单元缓存 – 2013-08-14 14:40:49

相关问题