代码之家  ›  专栏  ›  技术社区  ›  Alex Pliutau

PHP Excel,但没有电子表格\u Excel\u Writer

  •  2
  • Alex Pliutau  · 技术社区  · 14 年前

    我需要在.xls文件中保存一些数据。我正在尝试使用PEAR库电子表格\u Excel\u Writer。这是工作。但现在我正在与没有梨主持工作。当然,这是非常可怕的。

    谢谢。

    5 回复  |  直到 14 年前
        1
  •  4
  •   Hans    14 年前

    我经常使用电子表格编写器,这很好,但如果你不需要多个工作表或做一些格式化的能力等,你总是只输出HTML和发送一个

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

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

        2
  •  4
  •   Piskvor left the building Rohit Kumar    14 年前

    这是一种鲜为人知的格式,从未真正流行起来,但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>
    

    .xls.xml

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

    作为@亚历山大。布鲁托夫注释中,有 a library for writing these files

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

        4
  •  3
  •   palmic    14 年前

    http://www.bettina-attack.de/jonny/view.php/projects/php_writeexcel/

    我得到它只是包括在许多项目,它就像一个魅力工程。

        5
  •  1
  •   mxl    9 年前

    请注意,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>
    

    WorkSheet 你需要一个 Table 和一个 工作表 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提醒我们这个美妙的开放、机器和人类可读的格式。