我正在使用 table2excel.js 插件在 JavaScript 中将 HTML 表格下载到 Excel。当我下载表格时,我收到消息:“Excel 无法打开文件 'Test.xlsx',因为文件格式或文件扩展名无效。请确认文件没有损坏,并且文件扩展名与文件。”当我手动将下载文件的名称更改为“Test.xls”时,我可以很好地打开文件(带有一个小警告,表明文件格式和扩展名不匹配)。

这是 table2excel.js 的链接:https://github.com/rainabba/jquery-table2excel/blob/377b933ae6b04f4c1826acc24a2bb0a049933f8b/dist/jquery.table2excel.js

我尝试过的一些事情:
1.我将e.uri从“e.uri = data:application/vnd.ms-excel;base64,”改为“e.uri = “data:application/msexcel;base64,”
2.我变了
. . . 'return ( settings.filename ? settings.filename : "table2excel") + ".xlsx"';至
. . . 'return ( settings.filename ? settings.filename : "table2excel") + ".xls"';
(进行此更改时,文件被另存为 Test.xls.xlsx 并且在打开 .xlsx 文件时仍然存在相同的问题)。

如何将文件另存为 .xls 而不是 xlsx?或者有没有办法在将文件保存为 .xlsx 的同时进行这项工作(大概是通过将格式与 .xlsx 扩展名匹配)?

注意:如果重要的话,文件 Test.xlsx 是“普通的”,在一堆单元格中只有文本。没有花哨的格式、字符等。文本都是字母数字,只有一些特殊字符,例如:“,.#'/@”

如果有任何想法,非常感谢!

最佳答案

我也有同样的问题,我将 jquery.table2excel.js 中的以下方法更改为:

function getFileName(settings) {
    return ( settings.filename ? settings.filename : "table2excel") + ".xls";
}

之后我可以打开 xls 文件,但会提示不同格式的文件扩展名消息,也许更改标题就可以了。

关于javascript - 如何使用table2excel.js插件将HTML表格下载到Excel中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30107922/

10-11 05:18