js控制excel一点小事

Js导出表格到excel,收集了点方法,但有个问题还是没解决..

先看我导出的方法

 

//导出EXCEL
function method2(tableid) //读取表格中每个单元到EXCEL中
 { 

     var curTbl = document.getElementById(tableid);
    
      try {
            var oXL = new ActiveXObject("Excel.Application");
      }
      catch(e)
      {
         alert( "您必须安装Excel2000或以上,同时浏览器须使用“ActiveX 控件”,您的浏览器须允许执行控件。请选择Internet设置--安全选项--本地Intranet--改区域的安全级别设置为低,才能导出到Excel!");
       
         window.location.reload();
         return "";
      }
    
     //创建AX对象excel
     var oWB = oXL.Workbooks.Add();
     //获取workbook对象
     var oSheet = oWB.ActiveSheet;
     //激活当前sheet
     var Lenr = curTbl.rows.length;
     //取得表格行数
     for (i = 0; i < Lenr; i++)
     {
         var Lenc = curTbl.rows(i).cells.length;
        

         //<!--设置显示字符而不是数字-->
         
         oSheet.Columns(6).NumberFormatLocal="@"
         oSheet.Columns(5).NumberFormatLocal="@";
         oSheet.Columns(8).NumberFormatLocal="@";
         //取得每行的列数
         for (j = 0; j < Lenc; j++)
         {
             oSheet.Cells(i + 1, j + 1).value = curTbl.rows(i).cells(j).innerText;
             //赋值
         }
     }
     oXL.Selection.HorizontalAlignment = -4108;        //'xlHAlignCenter   横向居中
     oXL.Range("a1:b1:c1:d1:f1:g1:h1:i1:j1:k1").MergeCells = true;//合并
     //oXL.Range("a1:b1").select;//选中
    //oXL.Selection.VerticalAlignment = -4108;          //'xlVAlignCenter   竖向居中
     oSheet.Columns.AutoFit; //自动适应大小
     //设置excel可见属性
     oXL.Visible = true;
     oXL.UserControl = true;  //excel交由用户控制

 }

 

 

客户端都需要改设置,觉得很不好,本来使用ajax客户端就是为了减低服务器压力,现在却有这个麻烦....

有些用户把Internet设置安全级别设置为低就可了,但是测试过后有一部分机子居然要把"对没有标记为安全的activex控件进行初始化和脚本运行”设置成“启用”才可.

这对用户ie会造成安全隐患.

 

这个问题没有好的解决方法,各位用过的可以指点一下.

 

还有一疑问,因为我的table是根据用户选择需要显示的信息才显示,用户没选择要显示的不显示,

但是问题来了,js导出到excel时候隐藏的信息会在excel里面成为空的一列.

不指点是否有解决方法,或者js有让excel去空列的方法?望指教..

转载于:https://www.cnblogs.com/279826138/archive/2008/07/30/1256031.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值