之前说过一篇关于打印的方法,就顺便也看了一下导出,但是该方法需要用户更改浏览器的安全级别设置,因此并不十分推荐,大家如真有需要可以参考一下ZeroClipboard这款插件,我有时间也会去学习一下并贴出详细内容
先说一下这种方式
1.首先需要找出你要导出的页面内容:
var obj = document.getElementById("export");
2.之后需要创建剪贴板对象,并将改内容复制到剪贴板,注意,该写法只支持部分IE,如需其他浏览器中使用,需要对兼容性进行处理。(比如报出如下错误:
Uncaught TypeError: Cannot call method 'setData' of undefined;或输出window.clipboardData为undefined等)
window.clipboardData.setData("Text",obj.innerHTML);
这里使用的setData这个方法将obj下的内容写入到剪贴板中,除了该方法,其还有 getData(读取剪贴板中的内容)和cleanData(清楚剪贴板)
3.创建excel对象
var oXL = new ActiveXObject("Excel.Application");
4.最后将该内容复制到excel中就完成啦:
oXL.Application.Visible=true; var oWB = oXL.Workbooks.Add(); 创建工作簿 var oSheet = oWB.Worksheets(1);选择要复制的对象 try{ oSheet.Paste(); 复制对象到剪贴板 }catch(e){ alert(“导出失败”);
var oXL = new ActiveXObject("Excel.Application");