PHP Excel,但没有Spreadsheet_Excel_Writer

时间:2010-08-20 08:29:43

标签: php excel pear xls

我需要在.xls文件中保存一些数据。我正在尝试使用PEAR库Spreadsheet_Excel_Writer。这是工作。但现在我正在与没有PEAR的托管合作。原因很糟糕。

Spreadsheet_Excel_Writer有很多依赖项。我需要一个模块或代码,我可以将其包含在我的脚本中。

THX。

5 个答案:

答案 0 :(得分:4)

这是一种鲜为人知的格式,从未真正流行,但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中正确打开。如果你将文件扩展名重命名为.xls.xml,OpenOffice 2和3将正确打开它们

当用户打开此文件并将其从Excel保存时,默认情况下,它将转换为经典XLS文件。

正如@ Alexander.Plutov在评论中指出的那样,有a library for writing these files

IBM网站上有一个关于此格式和PHP的有用(且更全面)的页面:http://www.ibm.com/developerworks/opensource/library/os-phpexcel/#N101F7

答案 1 :(得分:4)

我经常使用Spreadsheet Writer并且很高兴,但是如果你不需要多张工作表或能够进行一些格式化等,你总是只输出HTML并发送

header("Content-type: application/vnd.ms-excel")

和“.xls”的扩展,然后Excel或OpenOffice的电子表格程序(我猜,我猜,Mac的电子表格程序)将打开它并将HTML格式化为电子表格。

这不是本机解决方案,但最终对最终用户来说看起来不错。你必须在你的html中使用表格,但你可以添加颜色/边框,填充,字体更改,rowspan,colspan等,以进行一些控制。但是,没有函数或公式或多张表。

答案 2 :(得分:3)

从字面上看,PHPExcel:http://phpexcel.codeplex.com/

答案 3 :(得分:3)

我正在使用 http://www.bettina-attack.de/jonny/view.php/projects/php_writeexcel/

我把它简单地包含在许多项目中,它就像一个魅力。

答案 4 :(得分:1)

请注意,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),并且无法打开生成错误消息,因为它缺少以下示例中更正的两个必需值(缺少的部分是{{{ 1}}您需要WorkSheet,而Table必须在WorkSheet中指定一个名称作为字符串:

ss:Name

这确实成为一个有效的excel电子表格,感谢Piskvor提醒我们这种精彩的开放,机器和人类可读的格式。