2013-10-01 40 views
0

我想將HTML表格導出爲Excel表格。
如果我不必保留一些格式並添加圖片,我會用CVS格式完成此操作。將複雜的HTML表格導出到Excel中

我使用的是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)); 

我有2個問題:

  1. 保存爲xls(或xlsx)打開罰款OpeOffice \ LibreOffice但在Excel
  2. 上拋出錯誤我似乎沒有找到一種方法來添加圖像到文件。

我不想將它保存爲xml文件,因爲在大多數情況下打開它默認爲Web瀏覽器。

回答

1

查看ECMA-376。 Excel希望所有文件都包含在一個zip容器中(並且您必須有一些其他文件,包括[Content_Types].xml

必須將圖像添加到zip容器並引用(查看規範)。

+0

如何以編程方式執行此操作? –

+1

@OfirFarchy https://github.com/stephen-hardy/xlsx.js是一個起點 – SheetJS