// JavaScript Document
//功能:导出多个表格到EXCEL或者ET
//调用方法:toExcel('要导出的表格ID,以|分隔多个表格','输出到excel中的工作薄名称','导出的方式,0为不带格式,1为带格式','要导出的列数')
var idTmr = "";
function Cleanup() {window.clearInterval(idTmr);CollectGarbage();}
function toExcel(tableId,sheetname,method,cols){if(!confirm("确认导出数据到EXCEL?")){return false;}var tables=tableId.split("|");for(var n=0;n<tables.length;n++){if(!document.getElementById(tables[n])){alert("表格"+tables[n]+"不存在,请检查是否有数据输出");return false;}}try{var oXL = new ActiveXObject("excel.Application");}catch(e1){try{var oXL = new ActiveXObject("et.Application");}catch(e2){alert(e2.description+"\n\n\n要使用EXCEL对象,您必须安装Excel电子表格软件\n或者,需要安装Kingsoft ET软件\n\n同时浏览器须使用“ActiveX 控件”,您的浏览器须允许执行控件。");return;}}try {var m=1;oXL.Visible = true;oXL.ScreenUpdating=false;//oXL.Calculation=-4135;var oWB = oXL.Workbooks.Add;var oSheet = oWB.ActiveSheet;var xlsheet = oWB.Worksheets(1);for(var i=oWB.Worksheets.count;i>1;i--){//删除多余工作表oWB.Worksheets(i).Delete();}for(var n=0;n<tables.length;n++){var elTable = document.getElementById(tables[n]);var oRangeRef = document.body.createTextRange();oRangeRef.moveToElementText(elTable);oRangeRef.execCommand("Copy");oSheet.cells(m,1).select;oSheet.Paste();//此方式为直接粘贴,带格式if (method == 0) {oSheet.cells.ClearFormats;//以下删除因表头分拆后产生的空行,一般表头不会超过5行,此处检查5行数据for(var delrow=1;delrow<5;delrow++){var isBlank=true;for(var col=1;col<=elTable.rows[0].cells.length;col++){if(oSheet.cells(m+1,col).value!="" && oSheet.cells(m+1,col).value!=undefined){isBlank=false;break;}}if(isBlank){oSheet.Rows(m+1).Delete;}}}m+=elTable.rows.length;}//oSheet.Cells.NumberFormatLocal = "@";//格式化数字时使用n=oSheet.Shapes.count;for(var i=1;i<=n;i++){oSheet.Shapes.Item(1).Delete();  //因为每次删除都会使总数减少,所以删除n次第一个对象,也可以倒过来从大到小删除}oXL.Selection.CurrentRegion.Select;   //选择当前区域oXL.Selection.Interior.Pattern = 0;   //设置底色为空oXL.Selection.Borders.LineStyle = 1;  //设置单元格边框为实线oXL.Selection.ColumnWidth = 5;    //设置列宽oXL.Selection.RowHeight = 16;    //行高oXL.Selection.Columns.AutoFit;    //列宽自动适应//xlsheet.Columns("A:Z").AutoFit;   //列宽自动适应xlsheet.Rows("1:"+m).AutoFit;    //自动行高xlsheet.Name=sheetname;oSheet = null;oWB = null;appExcel = null;//oXL.Calculation=-4105;oXL.ScreenUpdating=true;idTmr = window.setInterval("Cleanup();",1);  //释放Excel进程,回收内存空间,避免产生多个不会自己终止的Excel进程}catch (e) {idTmr = window.setInterval("Cleanup();",1);alert(e.description);}}

转载于:https://www.cnblogs.com/apollokk/archive/2012/09/27/6713927.html

导出多个表格到EXCEL或者ET的JavaScript代码相关推荐

  1. 十七 bootstrap-table tableExport 导出xlsx格式表格

    原文:十七 bootstrap-table tableExport 导出xlsx格式表格 在[十六.bootstrap-table javascript导出数据]中,打开导出的表格时,总会弹出一个提示 ...

  2. JS技巧:兼容性导出表格为Excel文件

    项目中经常需要导出Excel文件,不在服务器端处理而是富客户端采用Javascript脚本处理数据并导出文件. Js导出表格为Excel文件 的常见一种办法是调用:ActiveXObject(&quo ...

  3. 使用最新的poi-4.1.0.jar导入导出Excel表格——读取Excel表格数据用法

    使用最新的poi-4.1.0.jar导入导出Excel表格--读取Excel表格数据用法 其中主要的一点心得就是在switch语句哪里进行读取数据转换时,我看到网上的一些用法都是使用 HSSFCell ...

  4. java导出wps文件怎么打开,怎么把excel表格导入word-用java将数据导出到wps表格中,怎么实现...

    如何把WPS表格转换成Excel 1.首先,用WPS 打开需要操作的Excel文件. 2.点下WPS 表格右下角的"分页预览",查看需要PDF文档的表格的页面情况二页, 3.(这一 ...

  5. java html导出excel插件_excel插件实现html表格生成excel

    [实例简介] [实例截图] [核心代码] jQuery HTML表格生成Excel文件插件 带noExlclass的行不会被输出到excel中带noExlclass的行不会被输出到excel中这一行会 ...

  6. vue导出分页表格到Excel中

    vue导出分页表格到Excel中 安装依赖项 npm install --save xlsx file-saver 在使用的页面引入 import FileSaver from "file- ...

  7. JS实现导出网页表格为Excel

    首先声明:这篇是转载然后稍加修改的,原文下载表格会出现乱码,因此做了一些改进. 原文地址:js实现table导出Excel,保留table样式 PS:实际导出并不是真正的Excel文件,实际上一个ht ...

  8. 使用 poi 通过浏览器方式导出Excel表格(导出字段与表格字段不一样且取值逻辑改变)

    使用 poi 通过浏览器方式导出Excel表格(导出字段与表格字段不一样且取值逻辑改变) 思路:拿到表格页面查询的结果作为查询条件,表格页面的url和点击导出按钮的url是一样的,按钮的url多一个参 ...

  9. JavaScript导出图片和数据到Excel

    JavaScript导出图片和数据到Excel 以下方法可以利用json数据将图片地址生成图片导出到Excel,同样也可以将数据导出到Excel.解决网上许多方法关于导出图片到Excel却无法让图片在 ...

最新文章

  1. 为什么全局变量不好?[翻译]
  2. STL中的unique函数
  3. Python中的split()和rsplit()的使用
  4. 菜谱系列:蒜香炸鸡翅
  5. easyui图标使用(查找)
  6. android 语音自动播报,Android语音播报的两种简单实现
  7. Northwind数据库下载地址
  8. 提取pdb氨基酸序列
  9. 这几款简单好用的录屏软件,快收藏起来
  10. PBS常用基本命令------PBS入门
  11. jQuery控制网页字体大小
  12. 华为HCNE考试练习题经典模拟题
  13. 可中心可边缘,云计算“罗马大路”需要什么样的超融合新基建?
  14. Failed to introspect Class FeignClientFactoryBean 异常排查
  15. 如何让veil uVision5显示行
  16. 基于AndroidStudio员工绩效考核评价系统app设计
  17. xCAT安装配置文档
  18. 【Unity3D】人机交互Input
  19. Java中文分词组件 - word分词(skycto JEEditor)
  20. 算法训练 Cowboys(DP)

热门文章

  1. 满帮集团冲刺上市:2020年亏损36亿元,IPO前夕董事长王刚卸任
  2. mysql中commi的含义_mysql 常用参数含义(补充中.....)
  3. 数组——排序(起泡法)
  4. FFMPEG 使用记录
  5. 2022-2027年中国工业气体市场规模现状及投资规划建议报告
  6. Word中去掉烦人的最后一页空白页
  7. android imageview设置边框,android ImageView 添加边框
  8. 利用SolidWorks进行三维建模的应用技巧
  9. 个人网站微信支付、支付宝支付
  10. 追逐自己的梦想----------辅助制作第十四课:给出自动打怪和技能打怪的源码