将JSON导出到Excel以.xls格式保存!需要以'.xlsx'格式保存

时间:2018-03-16 15:37:16

标签: javascript jquery export-to-excel

将数据从UI导出到Excel。但它以'.xls'格式保存。需要以'.xlsx'格式保存。

  

以下是我fiddle

的链接

我试图将uri更改为

var uri = 'data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,'

但是以'.xlsx'格式显示下载的文件已损坏。

一个字段包含

等数据
'<p><strong>Test</strong></p>'

任何人都可以帮我解决这个问题吗?

这里我的现场数据是html标签&amp;风格如粗体/斜体/超链接等 预期的输出是转换,带有样式的文本,如果任何文本是粗体,Ine xcel也应该像粗体文本一样导出。与其他风格相同。

1 个答案:

答案 0 :(得分:2)

由于.xls.xlsx是完全不同的格式,因此您无法简单地更改扩展名以使其正常工作。

我建议你通过表单将数据发送到后端,然后让后端生成de .xlsx文件,很多语言都有很多库可以帮助你:

如果您无法使用后端解决方案,可以使用js-xlsx库,它可以在客户端生成.xlsx个文件,您可以看到the demo导出表格,或构造如下文件:

var filename = "write.xlsx";
var data = [
    ['Code-Page ID', 'Name', 'ACP   OEMCP', 'Windows NT 3.1', 'Windows NT 3.1', 'Windows 95'],
  [1200, 'Unicode (BMP of ISO/IEC-10646)', null, 'X', 'X', '*'],
  [1250, 'Windows 3.1 Eastern European', 'X', 'X', 'X', 'X'],
 ];

var ws_name = "Code Page Support";
var wb = XLSX.utils.book_new();
var ws = XLSX.utils.aoa_to_sheet(data);

XLSX.utils.book_append_sheet(wb, ws, ws_name);
XLSX.writeFile(wb, filename);