這篇文章主要介紹了layui框架如何導(dǎo)出excel表格,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
公司主營(yíng)業(yè)務(wù):網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶(hù)真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)建站是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶(hù)帶來(lái)驚喜。創(chuàng)新互聯(lián)建站推出西夏免費(fèi)做網(wǎng)站回饋大家。前言:
由于工作需要,需要使用到導(dǎo)出excel表格功能,后臺(tái)管理使用的是layui框架。
看layui的官網(wǎng)社區(qū)論壇,很多人都說(shuō)layui自帶的導(dǎo)出功能,只能導(dǎo)出當(dāng)前頁(yè)面的數(shù)據(jù)。而且,部分的數(shù)據(jù)都是通過(guò)數(shù)據(jù)之間關(guān)聯(lián)表查詢(xún)出來(lái)的,用layui自帶的導(dǎo)出數(shù)據(jù)會(huì)顯示(Object),讓人很頭疼。
所以要用到插件,很簡(jiǎn)單,下面的網(wǎng)址,把文件下載。
這個(gè)是插件必須用到的文件,注意引入文件的路徑。
給大家看下項(xiàng)目后臺(tái): 就比如訂單號(hào),就是從關(guān)聯(lián)的訂單表中查詢(xún)的
直接上代碼:
jsp:
這是一個(gè)導(dǎo)出的操作按鈕:
<button type="button" lay-submit="" class="layui-btn layui-btn-warm" lay-filter="uploadImg"> <i class="layui-icon"></i>導(dǎo)出Excel</button> layui.use(['layer', 'form', 'table', 'laydate','jquery'], function () { var $ = layui.jquery, layer = layui.layer, form = layui.form, laydate = layui.laydate, table = layui.table; // 加載框 var loading; loading = layer.load(1, {shade: [0.3, '#fff']}); var tableIns = table.render({ elem: '#tableList', // cellMinWidth: 100, cols: [[ {field: 'sdId', width: 60, title: 'ID', sort: true} , {field: 'sdMoney', width: 87,title: '交易金額',templet:'#cashDepositTpl'} , {field: 'sdTime', minWidth: 87, title: '交易時(shí)間'} , {field: 'sdType', width: 300,title: '交易類(lèi)型', templet: '#sdTypeTpl'} , {field: 'sdWater', minWidth: 120, title: '交易流水編號(hào)'} , {field: 'orderFormEntity', minWidth: 68,title: '訂單號(hào)', templet: '#orderFormTpl'} ]], url:'${WEB_URL}terraceZL/getList', page: true, even: false, height: 'full-90', request: { pageName: 'page' //頁(yè)碼的參數(shù)名稱(chēng),默認(rèn):page , limitName: 'limit' //每頁(yè)數(shù)據(jù)量的參數(shù)名,默認(rèn):limit }, limit: 50, done: function (res, curr, count) { layer.close(loading); } }); form.on('submit(uploadImg)', function(data){ loading = layer.load(1, {shade: [0.3, '#fff']}); var $ = layui.jquery; var excel = layui.excel; $.ajax({ url: '${WEB_URL}sellDeal/getTreeList', dataType: 'json', data: { datas:JSON.stringify(data.field) }, success: function(res) { layer.close(loading); layer.msg(res.msg); // 假如返回的 res.data 是需要導(dǎo)出的列表數(shù)據(jù) console.log(res.data);// // 1. 數(shù)組頭部新增表頭 res.data.unshift({sdId: 'ID',sdMoney: '交易金額',sdTime:'交易時(shí)間',type:'交易類(lèi)型',sdWater:'交易流水編號(hào)',order:'訂單號(hào)'}); // 3. 執(zhí)行導(dǎo)出函數(shù),系統(tǒng)會(huì)彈出彈框 excel.exportExcel({ sheet1: res.data }, '平臺(tái)流水.xlsx', 'xlsx'); }, error:function(res){ layer.close(loading); layer.msg(res.msg); } }); }); }); Controller: @RequestMapping("/getList") @ResponseBody public Object getList(HttpServletRequest request, Model model) { model.addAttribute("WEB_URL", ServiceUrl.WEB_URL); model.addAttribute("WEB_NAME", ServiceUrl.WEB_NAME); Map<String, Object> paramsMap = JSONObject.parseObject(request.getParameter("datas"), Map.class); if (paramsMap == null) { paramsMap = new HashMap<String, Object>(); } Map<String, Object> map = new HashMap<String, Object>(); try { List<SellDealEntity> mList = new ArrayList<SellDealEntity>(); Integer count = sellDealService.getCountZL(paramsMap); List<SellDealExcelEntity> list = new ArrayList<>(); if (count > 0) { //查詢(xún)所有數(shù)據(jù) mList = sellDealService.getListExcel(paramsMap); for (SellDealEntity sellDealEntity : mList) { //自定義一個(gè)新實(shí)體類(lèi),定義好要導(dǎo)出來(lái)的字段,把遍歷出來(lái)的數(shù)據(jù)存放到一個(gè)新的list,因?yàn)闀?huì)出現(xiàn)關(guān)聯(lián)表的數(shù)據(jù) SellDealExcelEntity sellDeal = new SellDealExcelEntity(); sellDeal.setSdId(sellDealEntity.getSdId()); sellDeal.setShopName(sellDealEntity.getSellEntity().getShopName()); sellDeal.setSdTime(sellDealEntity.getSdTime()); //時(shí)間格式可能不對(duì),備用 // DateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // String time = format.format(sellDealEntity.getSdTime()); //根據(jù)類(lèi)型 set 對(duì)應(yīng)的值 switchType(sellDealEntity,sellDeal); sellDeal.setSdWater(sellDealEntity.getSdWater()); //判斷如果訂單是null,就set " - " if (sellDealEntity.getOrderFormEntity()==null){ sellDeal.setOrder("-"); }else { sellDeal.setOrder(sellDealEntity.getOrderFormEntity().getOfOrder()); } list.add(sellDeal); } } map.put("code", 0); map.put("msg", "導(dǎo)出成功"); map.put("count", count); map.put("data", list); }catch (Exception e){ map.put("code", 1); map.put("msg", "導(dǎo)出失敗,請(qǐng)稍后重試!"); } return JSON.toJSON(map); } private void switchType(SellDealEntity sellDealEntity,SellDealExcelEntity sellDeal) { switch (sellDealEntity.getSdType()) { case 0: sellDeal.setType("訂單收益"); sellDeal.setSdMoney("+"+sellDealEntity.getSdMoney().toString()); break; case 1: sellDeal.setType("售后退款"); sellDeal.setSdMoney("-"+sellDealEntity.getSdMoney().toString()); break; case 2: sellDeal.setType("繳納保證金"); sellDeal.setSdMoney("+"+sellDealEntity.getSdMoney().toString()); break; case 3: sellDeal.setType("保證金充值"); sellDeal.setSdMoney("+"+sellDealEntity.getSdMoney().toString()); break; case 4: sellDeal.setType("保證金扣除"); sellDeal.setSdMoney("-"+sellDealEntity.getSdMoney().toString()); break; case 5: sellDeal.setType("余額提現(xiàn)"); sellDeal.setSdMoney("-"+sellDealEntity.getSdMoney().toString()); break; case 6: sellDeal.setType("保證金提現(xiàn)"); sellDeal.setSdMoney("-"+sellDealEntity.getSdMoney().toString()); break; case 7: sellDeal.setType("保證金提現(xiàn)手續(xù)費(fèi)"); sellDeal.setSdMoney("+"+sellDealEntity.getSdMoney().toString()); break; case 8: sellDeal.setType("余額提現(xiàn)手續(xù)費(fèi)"); sellDeal.setSdMoney("+"+sellDealEntity.getSdMoney().toString()); break; case 9: sellDeal.setType("訂單服務(wù)費(fèi)"); sellDeal.setSdMoney("+"+sellDealEntity.getSdMoney().toString()); break; default: sellDeal.setType("暫無(wú)類(lèi)型"); sellDeal.setSdMoney("0"); } }
最后,介意大家,定義新的實(shí)體時(shí),好都是定義成字符串的類(lèi)型,比較好處理。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“l(fā)ayui框架如何導(dǎo)出excel表格”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
網(wǎng)頁(yè)名稱(chēng):layui框架如何導(dǎo)出excel表格-創(chuàng)新互聯(lián)
本文路徑:http://jinyejixie.com/article30/dieipo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)、網(wǎng)站建設(shè)、電子商務(wù)、網(wǎng)站制作、用戶(hù)體驗(yàn)、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容