我能够使用Active X控件使用JavaScript创建XLS文件。
对于IE,我做了以下事情:
var objExcel = new ActiveXObject("Excel.Application");
objExcel.visible = false;
var objWorkbook = objExcel.Workbooks.Add;
var objWorksheet = objWorkbook.Worksheets(1);
objWorksheet.Paste;
objExcel.visible = true;
但是要使用ActiveX控件我需要转到Internet选项 - >安全性 - >自定义级别 - >启用初始化和脚本未标记为可安全执行脚本的ActiveX控件。启用此功能后,我只能创建XLS文件。
除了活动X之外,还有其他方法可以在IE-11中创建XLS文件 我尝试使用以下
var vDiv = document.getElementById('dvData');
vDiv.innerHTML = vTable;
var url='data:application/vnd.ms-excel,' + encodeURIComponent($('#dvData').html()) ;
但它不适用于IE-11。我需要使用纯javascript。
提前致谢
答案 0 :(得分:1)
首先你需要convert the table to a way that excel can understand it.
期望在excel中开箱即用的HTML代码是错误的。
一旦你得到了正确格式的数据,你应该创建一个Blob并下载,一个好的lib来帮助保存blob是FileSaver.js
var chunk = '<?xml version="1.0"?>...'
var blob = new Blob([chunk], {type: 'application/vnd.ms-excel'})
saveAs(blob, 'filename.xls') // using FileSaver.js