layui 第三方組件平臺

返回首頁 發(fā)布組件

現(xiàn)有Excel操作前端庫中,XLSX.JS功能強大但是操作頗為不便,于是封裝了此插件,依賴jQuery,支持Layui插件形式加載,導出僅需一句話。 導出excel功能基于 XLSX.js,下載功能基于 FileSaver,讀取文件基于 H5的 FileReader。

更新:2020-11-2 創(chuàng)建:2018-12-29

文檔

環(huán)境提示:預覽環(huán)境需要部署在服務器下,不然無法異步獲取需要導出的數(shù)據(jù)
現(xiàn)有Excel操作前端庫中,XLSX.JS功能強大但是操作頗為不便,于是封裝了此插件,依賴jQuery,支持Layui插件形式加載,導出僅需一句話。
導出excel功能基于 XLSX.js,下載功能基于 FileSaver,讀取文件基于 H5的 FileReader。。
?。。。。。。。。。。。。。?!重要?。。。。。。。。。。。。。。。。。?!
最新的代碼和文檔均在GITHUB以及碼云,社區(qū)更新可能不及時可能會碰上一些修復過的BUG
2020-11-02: 社區(qū)上傳附件已無法使用導致無法更新插件,請使用GitHub或碼云獲取最新穩(wěn)定版本
Github: https://github.com/wangerzi/layui-excel
碼云(國內下載較快): https://gitee.com/wangerzi/layui-excel
演示及文檔
在線演示:
http://excel.wj2015.com
在線文檔(請以此文檔為準,layui插件中文檔維護不及時):
http://excel.wj2015.com/_book
作者博客:
https://blog.wj2015.com

瀏覽器兼容性
導出支持 IE10+、Firefox、Chrome 等主流瀏覽器
導入僅支持 Edge、Firefox、Chrome 等新型瀏覽器
非layui或非模塊化支持
引入jQuery和插件源代碼,通過全局變量 LAY_EXCEL 調用函數(shù),具體可見demo: http://excel.wj2015.com/demos/noLayui/index.html
功能預覽:
花式設置樣式:

導出數(shù)據(jù)測試和導出接口數(shù)據(jù):

導出復雜表頭、樣式和公式:

導入數(shù)據(jù):

加群交流:
QQ群號:555056599

期望收集

提醒:這里的函數(shù)列表比較老,請至 http://excel.wj2015.com/_book 查看 !??!
提醒:這里的函數(shù)列表比較老,請至 http://excel.wj2015.com/_book 查看 ?。?!
提醒:這里的函數(shù)列表比較老,請至 http://excel.wj2015.com/_book 查看 ?。?!
函數(shù)列表


重要函數(shù)參數(shù)配置



fields參數(shù)設計
在實際使用的過程中,后端給的參數(shù)多了,或者字段數(shù)據(jù)不符合導出要求,這都是很常見的情況。為了導出數(shù)據(jù)的順序正確和數(shù)據(jù)映射正確,于是新增了這個方法。

fields 用于表示對象中的屬性順序和映射關系,支持『數(shù)組』、『對象』、『回調函數(shù)』三種方式

假如后臺給出了這樣的數(shù)據(jù):
{
"code":0,
"msg":"",
"count":3,
"data":[
{
"id":10000,
"username":"user-0",
"sex":"女",
"city":"城市-0",
"sign":"簽名-0",
"experience":255,
"logins":24,
"wealth":82830700,
"classify":"作家",
"score":57,
"start": '2018-12-29',
"end": "2018-12-30"
}
]
}







使用方法請查看 GITHUB文檔,由于篇幅原因不再貼出

功能概覽
- 支持梳理導出的數(shù)據(jù)并導出多種格式數(shù)據(jù)
- 支持IE、火狐、chrome等主流瀏覽器
- 普通工作電腦最多支持9列45W行數(shù)據(jù)規(guī)模的導出
- 支持 xlx、xlsx、csv格式的前端數(shù)據(jù)讀取以及數(shù)據(jù)梳理
- 支持單個文件多個 sheet 的導出
- 提供方便的列合并輔助方法
使用方法
JS使用樣例:
// 注:lay_exts/ 為擴展中所有文件的存放路徑
layui.config({
base: 'lay_exts/',
}).extend({
excel: 'excel',
});
layui.use(['jquery', 'excel', 'layer'], function() {
var $ = layui.jquery;
var layer = layui.layer;
var excel = layui.excel;

// 模擬從后端接口讀取需要導出的數(shù)據(jù)
$.ajax({
url: 'list.json'
,dataType: 'json'
,success(res) {
var data = res.data;
// 重點!?。∪绻蠖私o的數(shù)據(jù)順序和映射關系不對,請執(zhí)行梳理函數(shù)后導出
data = excel.filterExportData(data, [
'id'
,'username'
,'experience'
,'sex'
,'score'
,'city'
,'classify'
,'wealth'
,'sign'
]);
// 重點2!?。∫话愣夹枰右粋€表頭,表頭的鍵名順序需要與最終導出的數(shù)據(jù)一致
data.unshift({ id: "ID", username: "用戶名", experience: '積分', sex: '性別', score: '評分', city: '城市', classify: '職業(yè)', wealth: '財富', sign: '簽名' });

var timestart = Date.now();
excel.exportExcel(data, '導出接口數(shù)據(jù)', 'xlsx');
var timeend = Date.now();

var spent = (timeend - timestart) / 1000;
layer.alert('單純導出耗時 '+spent+' s');
}
,error() {
layer.alert('獲取數(shù)據(jù)失敗,請檢查是否部署在本地服務器環(huán)境下');
}
});
});
導出數(shù)據(jù)返回樣例:
{
"code":0,
"msg":"",
"count":3,
"data":[
{
"id":10000,
"username":"user-0",
"sex":"女",
"city":"城市-0",
"sign":"簽名-0",
"experience":255,
"logins":24,
"wealth":82830700,
"classify":"作家",
"score":57
},
{
"id":10001,
"username":"user-1",
"sex":"男",
"city":"城市-1",
"sign":"簽名-1",
"experience":884,
"logins":58,
"wealth":64928690,
"classify":"詞人",
"score":27
},
{
"id":10002,
"username":"user-2",
"sex":"女",
"city":"城市-2",
"sign":"簽名-2",
"experience":650,
"logins":77,
"wealth":6298078,
"classify":"醬油",
"score":31
}
]
}
更新預告
v1.6 支持快速設置邊框,分段遞歸獲取數(shù)據(jù)函數(shù)封裝,新增常見問題總覽
更新記錄
2019-03-11 v1.5 打包依賴方便使用并增加兼容性,支持花式設置樣式,正式支持導入,修復各種BUG
2019-01-13 v1.4 魔改xlsx-style以支持設置樣式、列寬、行高、公式等,并提供相應的輔助方法生成需要的配置信息
2018-01-09 v1.3 支持導出多個sheet,合并導出的列,~~設置單元格樣式~~(插件限制,暫未解決)
2019-01-04 v1.2 支持前端多文件多Sheet讀取 Excel 數(shù)據(jù)并梳理數(shù)據(jù)格式,大量數(shù)據(jù)導出效率優(yōu)化
2018-12-29 v1.1 重寫內部下載邏輯,支持IE、Firefox、chrome等主流瀏覽器,梳理數(shù)據(jù)函數(shù)支持回調
2018-12-14 v1.0 最初版本

下載

立即下載 去碼云下載 去 GitHub 下載
該擴展組件由第三方用戶主動投遞,并由其自身進行維護,本站僅做收集。