Javascript 通用Excel导出函数

 1 //导出excel
 2 function exportExcel(DivID,SheetName,DeleteColStr){
 3  //先声明Excel插件、Excel工作簿等对像
 4  var jXls, myWorkbook, myWorksheet; 
 5  try {
 6   //插件初始化失败时作出提示
 7   jXls = new ActiveXObject('Excel.Application');
 8  }catch (e) {
 9   alert("无法启动Excel!\n\n如果您确信您的电脑中已经安装了Excel,"+"那么请调整IE的安全级别。\n\n具体操作:\n\n"+"工具 → Internet选项 → 安全 → 自定义级别 → 对没有标记为安全的ActiveX进行初始化和脚本运行 → 启用");
10   return false;
11  }
12  
13  //不显示警告 
14  jXls.DisplayAlerts = false;
15  
16  //创建AX对象excel
17  myWorkbook = jXls.Workbooks.Add();
18  myWorkbook.Worksheets(3).Delete();//删除第3个标签页(可不做)
19  myWorkbook.Worksheets(2).Delete();//删除第2个标签页(可不做)
20  
21  //获取DOM对像
22  var curTb = document.getElementById(DivID);
23  
24  //获取当前活动的工作薄(即第一个)
25  myWorksheet = myWorkbook.ActiveSheet; 
26  
27  //设置工作薄名称
28  myWorksheet.name=SheetName;
29  
30  //获取BODY文本范围
31  var sel = document.body.createTextRange();
32  
33  var TempHtml = curTb.innerHTML;
34     var ExcelRegForLink = /<a\b[^>]*>([^<]*)<\/a>/gi;
35     var TempHtml2 = TempHtml.replace(ExcelRegForLink,"$1");
36     curTb.innerHTML = TempHtml2;    
37     //alert(TempHtml2);
38  //将文本范围移动至DIV处
39  sel.moveToElementText(curTb);
40  
41  //选中Range
42  sel.select();
43  
44  //清空剪贴板
45  window.clipboardData.setData('text','');
46  
47  //将文本范围的内容拷贝至剪贴板
48  sel.execCommand("Copy");
49 // var ClipBoardStr = window.clipboardData.getData("text");
50 // var ExcelRegForLink = /<a\b[^>]*>([^<]*)<\/a>/gi;
51 // ClipBoardStr = ClipBoardStr.replace(ExcelRegForLink,"$1");
52 // window.clipboardData.setData("text",ClipBoardStr);
53  //将内容粘贴至工作簿
54  myWorksheet.Paste();
55  //删除指定列
56  if (""!=DeleteColStr) {
57     var DeleteColsArr = DeleteColStr.split(",");
58      for (var ColNum in DeleteColsArr) {
59          var NowColNum=parseInt(DeleteColsArr[parseInt(ColNum)]);
60         myWorksheet.Columns(NowColNum).Delete();
61      }     
62  }
63  
64  //打开工作簿
65  jXls.Visible = true;
66  
67  //清空剪贴板
68  window.clipboardData.setData('text','');
69  jXls = null;//释放对像
70  myWorkbook = null;//释放对像
71  myWorksheet = null;//释放对像
72  document.selection.empty();//取消选中
73  curTb.innerHTML = TempHtml;
74 }

 使用方法:

<Div Id="MainDiv"> 打印区域 </Div>
调用方法:
exportExcel('MainDiv','Excel标题‘,'要去除列列表');
如:输出成为 Excel表 测试Excel,并去除其中的11,12列:
exportExcel('MainDiv','测试Excel','12,11');

转载于:https://www.cnblogs.com/qingshan/archive/2012/07/11/2586057.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值