java导入导出excel_Java导入导出Excel工具 easyexcel
Java導入導出Excel工具? easyexcel
做Java開發的同學,尤其是做管理后臺的同學絕大多數都會接觸到報表系統,這時候就少不了Excel的導入和導出了。Java解析生成Excel比較有名的有Apache POI ,但是POI存在缺陷就是所有的數據的解析都是在內存中進行的,內存消耗極大,如果數據量稍微一大容易出現內存溢出。alibaba提供的easyexcel就很好的解決了這個問題,不但不會出現內存溢出而且使用也極其方便,下面就一起來簡單學習一下吧。
引入依賴包
在maven倉庫中搜索 easyexcel 找到 alibaba的easyexcel依賴包,復制添加到pom文件中
1.簡單寫操作
1.1寫入到指定文件夾
創建需要寫出的數據模型 DemoData.class
貼上@ExcelProperty注解表示該字段需要導出到excel中去,value 的值表示該字段導出到excel中的所在列的列名。@ExcelIgnore注解表示忽略該字段,該字段將不會被導出到Excel中去。
上圖是創建需要導出的示例數據和最終導出excel的代碼,excel文件將被寫入到 “C:/write/write.xlsx” 路徑下。你沒有看錯真的核心導出代碼只有兩句就夠了。
上圖就是導出的Excel效果圖,是不是比POI簡單多了呢?
1.2 web中的寫
所有的要導出的數據都在response中的outputStream流中,前端通過解析這個流就可以到處Excel文件,由于本人水平有限前端不夠熟悉故而只給出后端Java代碼。
2.簡單讀操作
2.1指定導入文件的讀
說完了導出再來說說導入吧,導入比導出稍微復雜一點。導入有一個重要的概念叫做監聽器。下圖就是創建了一個監聽器。但是需要強調的一點是 DemoDataListener 不能被spring管理,要每次讀取excel都要new,然后里面用到spring可以用構造方法傳進去。
這里簡單的saveData方法中就沒有寫存入數據庫的業務,我們主要看的是有沒有成功讀入數據這里將讀入的數據全部打印在控制臺。
由控制臺的打印輸出可以看出,每讀入3條數據也就是達到了自定義的BATCH_COUNT值就調用了一次saveData方法。最后一次只有一條數據是當所有的數據解析完之后最后調用了saveData方法。
2.2web中的讀
此時讀入的數據全部在listener中進行解析,然后調用業務方法將讀入的數據進行存庫就和之前講的是一樣的操作了,這里也只給出Java代碼。
好了這就是easyexcel的初步簡單用法,如有錯誤和不足之處請各位大佬不吝賜教!
總結
以上是生活随笔為你收集整理的java导入导出excel_Java导入导出Excel工具 easyexcel的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 荣耀高管称欢迎友商跟进护眼屏技术
- 下一篇: 欧洲央行研究:比起就业岗位,AI 对工资