Apache POI Excel数据导入导出
Java 的 Excel 数据导入导出,用得最多的还是 Apache POI。功能比较全,老牌稳定,常规的.xlsx 和.xls 文件都没啥问题。像报表导出、批量导入,或者系统跟 Excel 打交道的地方,用它准没错。
Apache POI是个挺成熟的库,读写 Excel 基本都靠它搞定。不管是老格式.xls
,还是新版.xlsx
,都能得挺好。
你可以直接用Workbook
打开文件,按Sheet → Row → Cell
的层级读取数据。类型判断上稍微注意下,不同类型要用不同方法取值,比如getStringCellValue()
或getNumericCellValue()
。
写文件也不复杂,思路就是先造Workbook
,加Sheet
、Row
和Cell
,写到OutputStream
里。一行行加,记得关流释放资源。
大批量数据时,可以用SXSSF
,它是 POI 专门为大数据设计的“流式”API。写个几万行不在话下,还挺省内存。
要做样式也行,比如单元格对齐、字体颜色这些,用CellStyle
搞一搞就行。支持公式读取,不过计算是在 Excel 里跑,不是 Java。
要注意的坑也有:IOException
和数据类型转换异常最常见,是那种格式不规范的 Excel,之前最好加点容错。
如果你项目里有导入导出需求,POI 这套用法建议早点掌握,后面各种需求都能复用。实在不熟的,可以参考这些资源:
嗯,还有个提醒:POI 写图表和图片功能比较弱,真要搞图表展示,建议 Excel 模板预设好格式后再往里填数据。
660KB
文件大小:
评论区