我有一个 HTML 字符串,我想将其转换为 Excel 文件。我尝试了以下代码,但在 Excel 中看不到任何数据。
var tableToExcel = (function() {
var uri = 'data:application/vnd.ms-excel;base64,';
var template = '<html xmlns:o="urn:schemas-microsoft-com:office:office"xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]> <xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>';
var base64 = function(s) {
return window.btoa(unescape(encodeURIComponent(s)));
};
var format = function(s, c) {
return s.replace(/{(\w+)}/g, function(m, p) {return c[p]; });
}
return function(table, name) {
if (!table.nodeType)
table = document.getElementById(table);
var ctx = {
worksheet: name || 'Worksheet',
table: table.innerHTML
};
window.location.href = uri + base64(format(template, ctx));
}
})()
如果我运行上述代码,Excel 正在下载,但我在 Excel 中看不到任何数据。 是否有其他解决方案可以将 HTML 文件转换为 Excel 文件?
最佳答案
也许这会起作用?
jQuery - table2excel
在CDNJS上查看,发现TableExport太,所以你可以在脚本标签中引用远程JS库...
这是GitHub 。 遵循他们的安装指南...
关于javascript - 使用 Javascript 将 HTML 文件转换为 Excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40438922/