2012-01-10 35 views

Trả lời

50

Bạn tải tệp vào PHPExcel bằng trình đọc và phương thức load(), sau đó lưu tệp đó bằng cách sử dụng trình ghi và phương thức save() ... nhưng chính PHPExcel không biết nguồn của đối tượng PHPExcel .. Nó không quan tâm cho dù bạn đã tải nó từ một tập tin (hoặc loại tập tin) hoặc tạo ra nó bằng tay.

Như vậy, không có khái niệm "mở để đọc/ghi". Bạn chỉ cần đọc tệp theo tên và lưu vào cùng một tên tệp. Điều đó sẽ ghi đè lên tệp gốc với bất kỳ thay đổi nào bạn đã thực hiện trong tập lệnh của mình.

EDIT

Ví dụ

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); 

Và tôi có thể đề nghị bạn nên đọc tài liệu, và nhìn vào đoạn code mẫu trong/kiểm tra

+3

Ông có thể viết mẫu mã để giải thích điều này? Tôi không hiểu khi bạn nói về 'sử dụng trình đọc và phương thức load(), sau đó lưu tệp đó bằng cách sử dụng một trình ghi và phương thức save()' bạn đang nói về hai đối tượng khác nhau, (một người đọc, một nhà văn) nhưng Tôi cần mở tệp, sửa đổi một số ô và lưu cùng một đối tượng đó vào tệp. – Petruza

+0

điều này có thể gây ra "Kích thước bộ nhớ cho phép của xxxx byte cạn kiệt", có thể được khắc phục? – daver

+0

Nó có thể có thể được cố định được nhìn vào tư vấn tài liệu và khuyến nghị để xử lý bộ nhớ, chẳng hạn như sử dụng bộ nhớ đệm tế bào –

Các vấn đề liên quan