2、使用方法
頁面引用 excel.min.js 檔案
src=
"/js/excel.min.js"
>
script
>
var resdata = ojson.keyvalue;
//設定excel表頭標題
var titlearr =
['裝置區域'
,'間隔'
,'裝置名'
,'裝置型別'
,'相位'
,'巡檢點名稱'
,'識別型別'
,'儀表型別'
,'告警型別'
,'單位'
,'紅外檢測面'
,'致熱型別'
,'紅外診斷型別'
,'危機告警(值)'
,'危急警告運算子'
,'嚴重告警(值)'
,'嚴重告警運算子'
,'一般警告(值)'
,'一般警告運算子'
,'預警值'
,'預警運算子'
,'正常(值)'
,'正常運算子'];
titlerow =
;for
(var item in titlearr )
resdata.
unshift
(titlerow)
;var data =
lay_excel
.filterexportdata
(resdata, titlearr )
;//執行匯出
lay_excel
.exportexcel(,
'deviceinfo.xlsx'
,'xlsx'
);
3、官方使用方法
由於外掛程式規模擴大和功能的增加,導致外掛程式上手難度有一定的增加。但如果只使用核心功能,其實沒有必要去研究外掛程式的所有方法,故在此把此外掛程式解決核心需求的方法展示出來。試一試:一句話匯出 hello world
lay_excel.exportexcel([['hello', 'world', '!']], 'hello.xlsx', 'xlsx')
ps:這個就是核心的匯出功能,第乙個引數是乙個二維陣列,第二個引數是匯出檔名,第三個引數是檔案型別,是不是特別簡潔,有一定js基礎的童鞋相信一眼就能看懂!下面繼續介紹如何與 ajax 結合,匯出後端給到的資料。
第一步:從後台獲取需要匯出的資料
一般的匯出場景是後端給出獲取資料的介面,前端請求後端介面後,根據介面返回引數匯出,所以需要 $.ajax() 非同步請求介面資料
$.ajax(, ]
}});
如果使用layuiadmin
,則只需要將外掛程式(layui_exts/excel.js
)放到controller/
下,然後layui.use
即可,或者可以放在lib/extend
中,只不過需要改config.js
layui專案,非layuiadmin
的外掛程式初始化如下:
layui.config().extend();
ps:現已支援直接引入js檔案的方式載入外掛程式,然後通過 lay_excel 全域性變數呼叫相關函式了,非layui或者不熟悉layui的外掛程式載入機制的童鞋可以在html檔案中通過 script 標籤引入,如:
src="../../layui_exts/excel.js">
script>
lay_excel.exportexcel([[1, 2, 3]], '**匯出.xlsx', 'xlsx')
script>
第三步:手工新增乙個表頭,呼叫匯出excel的內部函式非layui框架請直接使用 $.ajax 和 lay_excel 進行非同步操作和匯出!!!注意:無論單元格是否空白,在呼叫 exportexcel 之前每一行的 key 必須順序相同且數量一致,否則容易出現錯位、樣式渲染異常等情況!!!
layui.use(['jquery', 'excel', 'layer'], function() , ]
// 1. 陣列頭部新增表頭
res.data.unshift();
// 2. 如果需要調整順序,請執行梳理函式
var data = excel.filterexportdata(res.data, [
'name',
'***',
'age',
]);// 3. 執行匯出函式,系統會彈出彈框
excel.exportexcel(, '匯出介面資料.xlsx', 'xlsx');
}});
});
未完待續 js 實現純前端將資料匯出excel兩種方式
部落格參考 primary plain click ex 匯出 el button ex 通過post方式匯出檔案 param key 請求定義靜態位址 param data 請求引數 return 返回promise物件 letpostfileexport key,data,params,base...
行為驅動開發之一,推廣篇
上上個周四,我在組裡做了個內部演講,題目是 使用cucumber實現行為驅動開發 考慮到組內成員並不系統的敏捷背景,我是從歷史開始的。扯軟體開發的歷史是我最喜歡的專案之一,大部分搞軟體的讀書讀到歷史基本都跳過去,我卻很喜歡看看那些過往的小故事。所以每次跟人聊起來,我都盡量吹他個昏天黑地,反正也沒人知...
行為驅動開發之一,推廣篇
上上個周四,我在組裡做了個內部演講,題目是 使用cucumber實現行為驅動開發 考慮到組內成員並不系統的敏捷背景,我是從歷史開始的。扯軟體開發的歷史是我最喜歡的專案之一,大部分搞軟體的讀書讀到歷史基本都跳過去,我卻很喜歡看看那些過往的小故事。所以每次跟人聊起來,我都盡量吹他個昏天黑地,反正也沒人知...