廢話俺就少說了,直接進入正題!!單純的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 = $('#tt').datagrid('getRows');
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可見屬性
}
以上就是小編為大家帶來的EasyUI 結合JS導出Excel文件的實現方法全部內容了,希望大家多多支持~