做项目时经常有通过程序读取Excel数据,或是创建新的Excel并写入数据的需求;
网上很多经验教程里使用的POI版本都比较老了,一些API在新版里已经废弃,这里基于最新的版本来总结一下整个读取和写入Excel的过程,希望能帮助到需要的人 _
引入 Apache POI 和 Apache POI-OOXML 这两个类库,Maven坐标如下:
简单说明一下示例程序的整体结构:
- 是实现读取Excel数据功能的类;
- 是创建新的Excel并向其中写入数据的类;
- 封装了读取或写入时每一“行”的数据;
- 是示例程序的入口类,其中演示了读取和写入Excel数据的整个过程;
示例程序需要从桌面读取 readExample.xlsx 内的数据,readExample.xlsx 的内容如下:
读取Excel时主要调用类来读取和解析Excel的具体内容,这里以读取系统文件的形式演示读取过程:(兼容 xls 和 xlsx)
2.2.1 主程序入口类代码:
读取和写入时封装每一“行”数据的ExcelDataVO.java代码如下:
2.2.2 Excel解析类的代码:
2.2.3 应用场景补充
一般我们会有这样的应用场景,即:在前台页面的文件上传入口上传本地的Excel文件到后台,后台收到Excel文件后进行解析并做对应的业务操作;
这里假设前台已经有了上传文件的入口,再简单贴一下后台的解析代码;
后台接收前台数据的Controller层代码示例:
ExcelReader.java中的 readExcel() 方法需要做一定的修改,代码如下:
写入数据时主要调用来创建Excel工作簿对象并写入数据,这里以写入系统文件数据为例演示写入的过程:
2.3.1 主程序入口类代码
2.3.2 写入Excel类的代码
类中,你可以根据实际需要替换 CELL_HEADS 列头的信息,然后重写 convertDataToRow 方法,转换你自己的行数据;
示例程序运行后将会在指定的系统路径下生成 文件,其内容如下:
2.3.3 应用场景补充
一般写入Excel时会有这样的场景:前台页面上有一个导出按钮,点击后将后台某张表里的数据以Excel的形式导出,导出的Excel文件通过浏览器下载到用户系统中;
这里默认前台页面已经有相应的按钮功能,给出对应的Controller层代码供参考:
点我哦
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/java-jiao-cheng/9988.html