Java使用POI导出Excel文件

POI概述

HSSF 是 POI 项目的 Excel '97(-2007) 文件格式的纯 Java 实现。XSSF 是 POI 项目的 Excel 2007 OOXML (.xlsx) 文件格式的纯 Java 实现。
HSSF 和 XSSF 提供了读取电子表格创建、修改、读取和写入 XLS 电子表格的方法。他们提供:
为有特殊需要的人提供的低级结构
用于高效只读访问的 eventmodel api
用于创建、读取和修改 XLS 文件的完整用户模型 API
对于从纯 HSSF 用户模型转换的人,如果希望使用联合 SS 用户模型来支持 HSSF 和 XSSF,请参阅ss 用户模型转换指南。
生成电子表格的另一种方法是通过Cocoon序列化程序(但您仍将间接使用 HSSF)。使用 Cocoon,您可以通过简单地应用样式表并指定序列化程序来序列化任何 XML 数据源(例如,可能是用 SQL 输出的 ESQL 页面)。
如果您只是读取电子表格数据,请使用 org.apache.poi.hssf.eventusermodel 包或 org.apache.poi.xssf.eventusermodel 包中的 eventmodel api,具体取决于您的文件格式。
如果您正在修改电子表格数据,请使用 usermodel api。您也可以通过这种方式生成电子表格。
请注意,usermodel 系统比低级 eventusermodel 具有更高的内存占用,但主要优点是使用起来更简单。另请注意,由于新的 XSSF 支持的 Excel 2007 OOXML (.xlsx) 文件是基于 XML 的,因此处理它们的内存占用高于旧的 HSSF 支持的 (.xls) 二进制文件。
SXSSF(自 POI 3.8 beta3 起)
POI官方文档

Apache POI 下载

依赖引用关系图如下所示:

在这里插入图片描述

直接下载

点击进入官网下载Apache POI
在这里插入图片描述

Maven下载

<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>5.2.2</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
	<artifactId>poi-ooxml</artifactId>
	<version>5.2.2</version>
</dependency>

POI实例

    @RequestMapping("/downloadExcel")
    public void downloadExcel(HttpServletResponse response) throws Exception{
   
        //创建Excel文件
        Workbook wb = new HSSFWorkbook();
        //生成sheet
        Sheet sheet = wb.createSheet("POI测试sheet");
        //创建行
        Row row = null;
        //创建列
        Cell cell = null;
        //创建表头单元格样式
        CellStyle cs_header = wb.createCellStyle();
        //设置字体样式
        Font boldFont = wb.createFont();
        //设置文字类型
        boldFont.setFontName("宋体");
        //设置加粗
        boldFont.setBold(true);
        //设置文字大小
        boldFont.setFontHeightInPoints((short) 16);
        //应用设置的字体
        cs_header.setFont(boldFont);
        //设置边框下、左、右、上
        cs_header.setBorderBottom(BorderStyle.THIN);
        cs_header
  • 8
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
导出多个Excel文件,可以使用POI的Workbook类来实现。具体可以按照以下步骤进行: 1. 创建一个Workbook对象。 2. 在Workbook对象中创建一个Sheet对象。 3. 在Sheet对象中创建行和单元格对象,并设置单元格中的数据。 4. 将Workbook对象写入到输出流中,保存为Excel文件。 下面是一个示例代码,它将生成两个Excel文件,每个文件包含一个名为“Sheet1”的工作表,其中有两行数据: ```java import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class ExportExcel { public static void main(String[] args) throws IOException { // 创建第一个Excel文件 Workbook wb1 = new XSSFWorkbook(); Sheet sheet1 = wb1.createSheet("Sheet1"); Row row1 = sheet1.createRow(0); row1.createCell(0).setCellValue("Hello"); row1.createCell(1).setCellValue("World"); Row row2 = sheet1.createRow(1); row2.createCell(0).setCellValue("Java"); row2.createCell(1).setCellValue("POI"); // 将第一个Excel文件写入输出流中 try (FileOutputStream fos1 = new FileOutputStream("excel1.xlsx")) { wb1.write(fos1); } // 创建第二个Excel文件 Workbook wb2 = new XSSFWorkbook(); Sheet sheet2 = wb2.createSheet("Sheet1"); Row row3 = sheet2.createRow(0); row3.createCell(0).setCellValue("Chit"); row3.createCell(1).setCellValue("GPT"); Row row4 = sheet2.createRow(1); row4.createCell(0).setCellValue("Java"); row4.createCell(1).setCellValue("POI"); // 将第二个Excel文件写入输出流中 try (FileOutputStream fos2 = new FileOutputStream("excel2.xlsx")) { wb2.write(fos2); } } } ``` 在上面的代码中,我们首先创建了一个名为“excel1.xlsx”的Excel文件,然后创建了一个名为“Sheet1”的工作表,并在其中添加了两行数据。然后我们将Workbook对象写入到输出流中,保存为Excel文件。接着我们创建了另一个Excel文件,并重复上述过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值