使用javascript创建xls文件,下载不支持的格式



我正在尝试使用JavaScript创建一个.xls文件。当我试图打开文件时,它会显示警告,当我试图编辑和保存它时,它也会显示警告。它希望我用它创建一个新文件,否则它会将所有必要的数据存储在一个单独的文件夹中,否则我必须将其转换为兼容模式。

var tableBody  = '<html xmlns:x="urn:schemas-microsoft-com:office:excel"><head><meta http-equiv="Content-Type" content="text/html;charset=windows-1252">';
tableBody +='<!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name> Quotation </x:Name><x:WorksheetOptions><x:Panes></x:Panes><y:Panes></y:Panes></x:WorksheetOptions>';
tableBody +='</x:ExcelWorksheet>';
tableBody +='</x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body>';
tableBody +=quoteBody.substringBetween('<html>','</html>' );
tableBody +='</body></html>';

let downloadLink = document.createElement('a');
downloadLink.download = quoteFileName+'.xls';
downloadLink.href = 'data:application/vnd.ms-excel;base64,'+response.getReturnValue();
downloadLink.click();

当我尝试打开下载的excel文件时。我点击"是"打开它。

当我尝试保存下载的excel文件时。

我做错了什么?是excel版本还是其他版本。

提前谢谢。

您实际上并不是在创建Excel文件,您或多或少是在"伪造";它(使用特定于应用程序的特殊标记(。我建议你使用普通的库来创建普通的Excel文件,比如sheet.js。然后这些问题就会消失。

最新更新