首页  >  文章  >  php教程  >  EasyUI 结合JS导出Excel文件的实现方法

EasyUI 结合JS导出Excel文件的实现方法

高洛峰
高洛峰原创
2016-12-07 11:14:331670浏览

废话俺就少说了,直接进入正题!!单纯的JS能够导出Excel的不多见,一般都需要调用客户端所安装的Office Excel组件来完成这个工作。这里我主要讲EasyUI内的DataGrid如何结合JS导出Excel文件

一、 导出Excel的核心代码段如下所示

function Exproter() {
      //获取Datagride的列
      var rows = $('#test').datagrid('getRows');
      var oXL = new ActiveXObject("Excel.Application"); //创建AX对象excel
      var oWB = oXL.Workbooks.Add(); //获取workbook对象
      var oSheet = oWB.ActiveSheet; //激活当前sheet
      for (var i = 0; i < rows.length; i++) {
        oSheet.Cells(i + 1, 1).value = rows[i].O_NAME;
      }
      oXL.Visible = true; //设置excel可见属性
}

   

二、以上JS方法能够顺利执行的大前提就是

1.机器上Excel已经安装.

2.Internet 选项=>安全=>Internet

\"对没有标记为安全的ActiveX控件进行初始化和脚本运行,设定为启用\"

//EasyUI datagrid 动态导出Excel
function ExporterExcel() {
      //获取Datagride的列
      var rows = $(&#39;#tt&#39;).datagrid(&#39;getRows&#39;);
      var columns = $("#tt").datagrid("options").columns[0];
      var oXL = new ActiveXObject("Excel.Application"); //创建AX对象excel
      var oWB = oXL.Workbooks.Add(); //获取workbook对象
      var oSheet = oWB.ActiveSheet; //激活当前sheet
      //设置工作薄名称
      oSheet.name = "导出Excel报表";
      //设置表头
      for (var i = 0; i < columns.length; i++) {
        oSheet.Cells(1, i+1).value = columns[i].title;
      }
      //设置内容部分
      for (var i = 0; i < rows.length; i++) {
        //动态获取每一行每一列的数据值
        for (var j = 0; j < columns.length; j++) {       
          oSheet.Cells(i + 2, j+1).value = rows[i][columns[j].field];
        } 
      }      
      oXL.Visible = true; //设置excel可见属性
}

   


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn