【问题标题】:Exporting complex HTML table to Excel将复杂的 HTML 表格导出到 Excel
【发布时间】:2013-10-01 23:29:45
【问题描述】:

我想将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(或xlsx)的文档在OpeOffice\LibreOffice 上可以正常打开,但在Excel 上会抛出错误,并且
  2. 我似乎没有找到将图像添加到文件中的方法。

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

【问题讨论】:

    标签: javascript html xml excel html-table


    【解决方案1】:

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

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

    【讨论】:

    • 如何以编程方式执行此操作?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-15
    • 2018-06-24
    • 2023-03-21
    • 1970-01-01
    • 2014-04-08
    • 1970-01-01
    • 2023-03-27
    相关资源
    最近更新 更多