SpringBoot后端+Vue之AntDesignVue前端实现查询表格导出excel功能
用的是阿里的com.alibaba.excel包,pom的依賴如下
<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.1.6</version> </dependency>涉及到前后端跨域問題看?
springboot解決跨域問題_a295277302的博客-CSDN博客_springboot解決跨域
前端的界面:
?mapper
service層,直接return dao層的接口
業務邏輯層
因為原本的查詢結果里,有LocalDateTime的時間類型,直接BeanCopy到為導出excel創建的bean會報錯無法解析這個類型,于是做了轉化為String的操作。這里的xxxReportBean是專門為了導出excel而創建的bean,里面的屬性名跟類型與原查詢條件的實體類屬性名一致,只是時間類型的字段換成了String類型。ExcelUtils這個方法類下面會放圖
?
ExcelUtils.createxxxxx....
這里可以看到會給httpServletResponse增加headers,可以在前端瀏覽器的控制臺里的網絡那里,response會有上面所指的'filename'這一值,用戶自定義即可,可能還需要在處理跨域的工具配置類里加上
對應的為了導出excel的實體類Bean,加上@ExcelProperty,index從0開始,value是在excel表中顯示的值
跨域headers:如果不加的話可能前端到時拿不到headers,盡管在response那里能看見有filename,但是console.log是沒有的...不給用
controller:
前端:
criteria是后端傳過來的數據,具體是什么可以看文章開頭PostMan的測試結果
?exportExcel方法:
?效果圖:
想看headers有沒有就在前端代碼console.log一下就知道了
excel效果:
總結
以上是生活随笔為你收集整理的SpringBoot后端+Vue之AntDesignVue前端实现查询表格导出excel功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: @RunWith的作用
- 下一篇: java多线程贪吃蛇实验报告_JAVA开