将数据从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也应该像粗体文本一样导出。与其他风格相同。
答案 0 :(得分:2)
由于.xls
和.xlsx
是完全不同的格式,因此您无法简单地更改扩展名以使其正常工作。
我建议你通过表单将数据发送到后端,然后让后端生成de .xlsx
文件,很多语言都有很多库可以帮助你:
openpyxl
nodex-xlsx
PHP_XLSXWriter
Apache POI
EPPlus
如果您无法使用后端解决方案,可以使用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);