【发布时间】:2016-07-14 15:05:54
【问题描述】:
我正在使用以下 Javascript 代码动态生成 Excel,它将 HTML 表格转换为电子表格。
Excel 文件无法在 Office 2010 中打开,显示为空白。使用 Openoffice 打开同一个电子表格。可能是什么问题?这和encoding有关吗
function ExcelReport() {
var tab_text = '<html xmlns:x="urn:schemas-microsoft-com:office:excel">';
tab_text = tab_text + '<head><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>';
tab_text = tab_text + '<x:Name>Test Sheet</x:Name>';
tab_text = tab_text + '<x:WorksheetOptions><x:Panes></x:Panes></x:WorksheetOptions></x:ExcelWorksheet>';
tab_text = tab_text + '</x:ExcelWorksheets></x:ExcelWorkbook></xml></head><body>';
tab_text = tab_text + "<table>";
var headingTable = $('#h_tbl').clone();
tab_text = tab_text + headingTable.html();
tab_text = tab_text + '</table>';
$('.c_tbl').each(function( index ) {
tab_text = tab_text + "<table>";
tab_text = tab_text + "<tr><td></td></tr><tr><td></td></tr>";
tab_text = tab_text + '</table>';
tab_text = tab_text + "<table>";
var exportTable = $(this).clone();
tab_text = tab_text + exportTable.html();
tab_text = tab_text + '</table>';
});
tab_text = tab_text + '</body></html>';
var fileName = name + '.xls';
var blob = new Blob([tab_text], { type: "application/vnd.ms-excel;charset=utf-8" })
window.saveAs(blob, wo_var + ".xls");
}
当我在记事本中打开 excel 时,html 代码如下所示
<html xmlns:x="urn:schemas-microsoft-com:office:excel"><head><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></head><body><table>
<tbody><tr><td>abc:</td></tr></tbody></table></body></html>
【问题讨论】:
-
这是没有任何错误信息吗?尝试查看-窗口-取消隐藏,support.office.com/en-us/article/…
-
@AxelRichter 是的,没有任何错误消息,我用 excel 的 HTML 更新了问题
标签: javascript excel