首頁 >php教程 >PHP开发 >EasyUI 結合JS匯出Excel檔案的實作方法

EasyUI 結合JS匯出Excel檔案的實作方法

高洛峰
高洛峰原創
2016-12-07 11:14:331687瀏覽

廢話俺就少說了,直接進入正題! !單純的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方法能夠順利執行的大前提就是131%機器上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