使用 POI 生成电子表格

198 阅读2分钟

我们遇到过这样的场景,如导出自己大学里某一个学期的成绩,而且导出的格式是 xlsx(Excel 格式),估计很多同学都会有疑问,到底是如何导出的呢?接下来我们就揭开导出 Excel 的面纱。

先看一段 POI 的介绍:

Apache POI 是用 Java 编写免费开源跨平台的 Java API,Apache POI 提供 API 给 Java 程序对 Microsoft Office 格式档案读和写的功能。

他可以使用 Java 来进行相关读取和创建,修改 Excel 文件,而且还可以使用 Java 读取和创建 Word 和 MS PowerPoint 文件。

下载 POI

参考:(101条消息) 【小白教程】Java POI的下载及导入_poi下载_dahao8888888的博客-CSDN博客

linux里面通过:wget labfile.oss.aliyuncs.com/courses/794… 下载

(win怎么下载?如果不使用maven我们可以选择可以官网下载jar包)

然后进行解压缩

image.png

上图中有很多扩展名为 jar 的文件,这些 jar 文件中包含了我们需要的 class 文件,我们如果要使用这些 class 文件(类库),需要告诉 JVM 这些 class 文件的路径,把 jar 的路径配置到 CLASSPATH 中,JVM 就能找到我们需要的 class 了

配置 CLASSPATH 环境变量。

Linux里面可以使用 vi 编辑环境变量文件来配置 jar 的路径到 CLASSPATH 中

在终端中,请输入下面命令临时设置 CLASSPATH:

export CLASSPATH=.:/home/project/poi-bin-5.2.0/poi-5.2.0.jar:/home/project/poi-bin-5.2.0/lib/commons-io-2.11.0.jar:/home/project/poi-bin-5.2.0/lib/commons-math3-3.6.1.jar:/home/project/poi-bin-5.2.0/lib/log4j-api-2.17.1.jar

怎么用Java利用POI生成excel表格

使用四层架构(entity,dao,service,controller)

新建一个工具类:ExceIUtil

  1. 第一步,创建一个HSSFWorkbook,对应一个Excel文件
  2. 第二步,在workbook中添加一个sheet,对应Excel文件中的sheet
  3. 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制
  4. 第四步,创建单元格,并设置值表头 设置表头居中
  5. 第五步,声明列对象,创建标题,创建内容。

怎么创建HSSFWorkbook:HSSFWorkbook wb=new HSSFWorkbook

怎么添加sheet:HSSFWorkbook类里面有一个createSHeet方法

怎么sheet中添加表头:通过createRow方法

怎么创建单元格:HSSFWorkbook类里面有一个createCellStyle方法

里面还需要书写一个发送响应流的方法。

接下来就是在业务层,dao包下面书写相关方法。这个就是增删改查方法啦。然后几点在mapper里面写sql语句。