2012-08-23 80 views
0

我有這樣的代碼:PEAR Spreadsheet Excel Writer文件大小問題?

$book = new Spreadsheet_Excel_Writer(); 
$book->send('book.xls'); 
$report =& $book->addWorksheet('sheet'); 

$i = 0; 
while ($i<145){ 
    $report->write($i, 0, 'dsbajk_'.$i); 
    $i++; 
} 

$book->close(); 

這將產生6 KB的文件,但是當我試圖打開它在Excel中有一個與文件中的錯誤,是這樣的:Excel中發現的內容,無法讀取和有可能某些數據丟失了。 (由於是西班牙文,我無法寫出確切的訊息)。

如果我在循環中將145更改爲144(或更少),則不會顯示任何消息,所以我認爲這是緩衝區或文本大小的問題。我需要用更多的數據替換while循環和db查詢,所以重要的是這很好。

我在其他服務器上試過這個,我沒有這個問題,所以也許是配置的東西。

我apreciate任何幫助。

+2

請勿使用S_E_W。它已經過時,基本上沒有維護。改爲切換到[PHPExcel](http://phpexcel.codeplex.com/)。這是維護,並支持新的基於XML的格式。 S_E_W卡在Excel '95或其附近。 –

+0

謝謝@MarcB,我會給PHPExcel一個機會。我習慣了Spreadsheet Excel Writer,但你說得對,它被卡住了。 – Memochipan

回答

0

正如Marc B所說,如果您開始一個新項目,切換到PHPExcel是一個很好的決定。它支持xlsx和其他現代格式以及傳統的xls。它也有更多的選擇,易於安裝和使用。

我在我的項目中使用了PHPExcel,我很開心。 :)