问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

js中如何设置倒出的excel表格的格式

发布网友 发布时间:2022-04-21 20:01

我来回答

1个回答

热心网友 时间:2022-04-22 14:20

// 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);       
    }
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么天天总是提不起精神,情绪低落呢?求大神帮助 你好,我的是oppoR7手机微信里面播放视频的时候出现马赛克是怎么... 我的手机型号是oppor7在微信视频聊天中看不到我自己,对方也看不到我是... 预产期是2016阴历2月初八男孩哪天抛妇产好 4.把一个棱长为10cm的正方体钢锭铸成一块长40cm,宽10cm的钢板,这块钢板... 禅意诗词名句摘抄(15句禅意盎然的诗句) ...体铁块把它熔铸成一个横截面积是20平方厘米的长方体这 夏季下雨钓鱼好不好钓鱼 猫咪发烧猫鼻支怎么办,猫咪猫鼻支发烧流鼻涕 邵东到威宁的乘车路线 如何实现SpreadJS的纯前端Excel导入导出 Javascript实现把网页中table的内容导出到excel中... 如何使用JavaScript从excel导入数据到HTML页面 怎么用js将excel中的数据读取后显示到网页中的表格? 怎么用js将excel中的数据读取后显示到网页中的表格 怎么用js判断导入的excel的数据是否为空 怎样将动态生成的jsp页面中的数据通过程序(java,ja... 在js导出表格到excel的时候,如何用js设置时间的的... 如何将很多用javascript翻页的网页表格数据导入exc... 如何用javascript通过服务器把table的数据写入excel js中的数据怎样导出到excel js 导出大数据到excel 如何用js将excel表格导入成web页面格式代码 用javascript怎么实现把excel中的数据批量导入到数... js 将数据库查询出来的数据导入到excel中 iPhoneXS换iPhone13,256G够了吗? 新买的iPhonexs 每次重启后打开部分app上下都会出... 请教大神Iphonexs看视频黑色场景低亮度显示黑色色块 刚买的iPhoneXS登录之前的id账号怎么视频老是打不... 为什么我用iPhoneXS前置摄像头录了个12分钟的视频... Excel中加入Javascript 有用js-xlsx做excel导入的吗 jQuery/JavaScript 如何读取放在项目里的Excel 作为一个JAVA程序员 对Linux要掌握到什么程度 php程序员需要掌握哪些LINUX知识 Linux shell命令讲解 程序员怎样用Linux编程 学习linux的几个疑问? LINUX是不是操作都用命令啊 谁能介绍一下linux? 三星note20u如何关机 java程序员招聘信息上面写的熟悉linux到底要多熟悉啊? Linux程序员前1年应该如何学习和积累呢 前小排可以做红烧排骨嘛 如何挑选小排骨 大排、小排、子排和肋排的区别是什么? 川味黑豆烧排骨的做法步骤图,怎么做好吃 从大到小排,最前是司令,接着是什么?请一直排下去。 内场前区,小排数大的号好还是大排数小的号好? 排骨前排好还是后排好?