我需要在 .xls 文件中保存一些数据。我正在尝试使用 PEAR 库 Spreadsheet_Excel_Writer。这是工作。但现在我正在使用没有 PEAR 的主机。当然,这是非常可怕的。
Spreadsheet_Excel_Writer 有很多依赖项。我需要一个模块或代码,我可以将其包含在我的脚本中。
谢谢。
这是一种鲜为人知的格式,从未真正流行起来,但 MS Office 支持所谓的 Excel 2003 XML 文件——它们确实是 XML,至少看起来像这样:
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
<Worksheet>
<Row>
<Cell>
<Data ss:Type="String">First</Data>
</Cell>
</Row>
</Worksheet>
</Workbook>
您可以在没有任何 PHP 扩展的情况下非常简单地生成此文件,并且它将在自 2003 年以来的任何版本的 MS Excel 中正确打开。如果您将文件扩展名重命名为,OpenOffice 2 和 3 将正确打开这些文件.xls.xml
当用户打开此文件并从 Excel 中保存时,默认情况下,它将转换为经典 XLS 文件。
正如@Alexander.Plutov 在评论中指出的那样,有一个用于编写这些文件的库。
IBM 网站上有一个有用的(更全面的)页面关于这种格式和 PHP:http ://www.ibm.com/developerworks/opensource/library/os-phpexcel/#N101F7
我经常使用电子表格编写器,拥有它很不错,但是如果您不需要多张工作表或进行一些格式化等功能,您总是只需输出 HTML 并发送
header("Content-type: application/vnd.ms-excel")
和“.xls”的扩展名,然后 Excel 或 OpenOffice 的电子表格程序(我猜,我猜是 Mac 的电子表格程序)将打开它并将 HTML 格式化为电子表格。
它不是原生解决方案,但最终对最终用户来说看起来相当不错。您必须在 html 中使用表格,但您可以添加颜色/边框、填充、字体更改、行跨度、列跨度等,以进行一些控制。但是,没有函数、公式或多张工作表。
从字面上看,PHPExcel:http ://phpexcel.codeplex.com/
我正在使用 http://www.bettina-attack.de/jonny/view.php/projects/php_writeexcel/
我把它简单地包含在许多项目中,它就像一个魅力。
请注意,Piskvor 提供的源代码:
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
<Worksheet>
<Row>
<Cell>
<Data ss:Type="String">First</Data>
</Cell>
</Row>
</Worksheet>
</Workbook>
不是有效的 Excel 文件(至少在我的版本 - Excel 2010 中)并且将无法打开并生成错误消息,因为它缺少以下示例中更正的两个必需值(缺少的部分是在 a 中WorkSheet
您需要 aTable
和 aWorkSheet
必须将名称指定为ss:Name
) 中的字符串:
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
<Worksheet ss:Name="test">
<Table>
<Row>
<Cell>
<Data ss:Type="String">First</Data>
</Cell>
</Row>
</Table>
</Worksheet>
</Workbook>
然后这确实变成了一个有效的 excel 电子表格,感谢 Piskvor 提醒我们这种美妙的开放和机器和人类可读的格式。