【发布时间】:2012-09-12 02:24:52
【问题描述】:
我有这个代码:
$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 循环,所以这很重要。
我在其他服务器上试过了,我没有这个问题,所以可能是配置的问题。
感谢任何帮助。
【问题讨论】:
-
不要使用 S_E_W。它已经过时并且基本上没有维护。请改用PHPExcel。它得到维护,并支持新的基于 XML 的格式。 S_E_W 卡在 Excel '95 左右。
-
谢谢@MarcB,我会给 PHPExcel 一个机会。我习惯使用电子表格 Excel Writer,但你说得对,它被卡住了。