0

我想将HTML表格导出到 Excel 工作表。
如果我不必保留一些格式并添加图片,我会使用 CVS 格式完成此操作。

我已经尝试使用该Office 2003 XML格式,即

<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
          xmlns:o="urn:schemas-microsoft-com:office:office"
          xmlns:x="urn:schemas-microsoft-com:office:excel"
          xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
          xmlns:html="http://www.w3.org/TR/REC-html40">
    <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
    ...
    </DocumentProperties>
    <OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
    ...
    </OfficeDocumentSettings>
    <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
    ...
    </ExcelWorkbook>
    <Styles>...</Styles>
    <Worksheet ss:Name="Sheet1">...</Worksheet>
</Workbook>

然后 使用一些JavaScript代码“下载”它data URI

'data:application/vnd.ms-excel;charset=utf-8, '+
 encodeURIComponent(STRING_XML_REPRESENTATION));

我有两个问题:

  1. 保存为xls(or ) 的文档在\xlsx上可以正常打开,但在, 和 OpeOfficeLibreOfficeExcel
  2. 我似乎没有找到将图像添加到文件的方法。

我不想将它保存为xml文件,因为在大多数情况下打开它默认为网络浏览器。

4

1 回答 1

1

查看 ECMA-376。Excel 希望所有文件都包含在一个 zip 容器中(并且您必须有一些额外的文件,包括[Content_Types].xml

必须将图像添加到 zip 容器并引用(查看规范)。

于 2013-10-01T15:29:45.797 回答