这是代码。没什么。
<?php
include("Spreadsheet/Excel/Writer.php");
$xls = new Spreadsheet_Excel_Writer();
$sheet = $xls->addWorksheet('At a Glance');
$colNames = array('Foo', 'Bar');
$sheet->writeRow(0, 0, $colNames, $colHeadingFormat);
for($i=1; $i<=10; $i++)
{
$row = array( "foo $i", "bar $i");
$sheet->writeRow($rowNumber++, 0, $row);
}
header ("Expires: " . gmdate("D,d M Y H:i:s") . " GMT");
header ("Last-Modified: " . gmdate("D,d M Y H:i:s") . " GMT");
header ("Cache-Control: no-cache, must-revalidate");
header ("Pragma: no-cache");
$xls->send("test.xls");
$xls->close();
?>
问题是当我实际使用 Excel 打开文件时出现以下错误:
File error: data may have been lost.
更奇怪的是,尽管有错误,但文件似乎很好。我碰巧写的任何数据都在那里。
关于如何摆脱这个错误的任何想法?
编辑
我修改了代码示例以更好地说明问题。我不认为第一个样本是合法的测试。