2012-01-10 91 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

相關問題