之前说过一篇关于打印的方法,就顺便也看了一下导出,但是该方法需要用户更改浏览器的安全级别设置,因此并不十分推荐,大家如真有需要可以参考一下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.
Normal
0
7.8 磅
0
2
false
false
false
EN-US
ZH-CN
X-NONE
创建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(“导出失败”);
Normal
0
7.8 磅
0
2
false
false
false
EN-US
ZH-CN
X-NONE
var
oXL = new ActiveXObject("Excel.Application");
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-font-kerning:1.0pt;}