Spring boot使用Aache POI实现数据导出导Excel

本文介绍了如何使用Apache POI库在Spring Boot项目中操作Excel,包括创建工作簿、工作表和数据行,以及在内存中导出数据到Excel文件的过程。特别提到了类路径问题的解决方法——通过关闭并重新打开IDE解决类找不到异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.导入jar包

<!-- poi方式二 -->
	<dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi</artifactId>
      <version>4.1.2</version>
    </dependency>
    <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi-ooxml</artifactId>
      <version>4.1.2</version>
    </dependency>

2.创建工具类

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.stereotype.Component;
import com.example.demo.pojo.Achievement;
@Component
public class HSSFWorkbookUtil {
	//导出数据到“区域数据.xls”文件中
	public void exportExcel(List<Achievement> list) throws IOException {

        //1.在内存中创建一个工作簿
        HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
        
        //2.创建工作表
        HSSFSheet sheet = hssfWorkbook.createSheet();
        
        //3.创建标题行(从0开始)
        HSSFRow titlerRow = sheet.createRow(0);
        titlerRow.createCell(0).setCellValue("姓名");
        titlerRow.createCell(1).setCellValue("题目");
        titlerRow.createCell(2).setCellValue("成绩");
        titlerRow.createCell(3).setCellValue("评语");

        //4.遍历数据,创建数据行
        for (Achievement sch : list) {
            //获取工作表的最后一行的行号 --工作表对象名.getLastRowNum()
            int lastRowNum = sheet.getLastRowNum();
            //创建行 createRow(行号) --行号是从0开始的整数
            HSSFRow dataRow = sheet.createRow(lastRowNum + 1);
            //存放数据   --dataRow.createCell(0)创建单元格,setCellValue()给单元格设置值
            dataRow.createCell(0).setCellValue(sch.getStudentName());
            dataRow.createCell(1).setCellValue(sch.getExperimentname());
            dataRow.createCell(2).setCellValue(sch.getAchievement());
            dataRow.createCell(3).setCellValue(sch.getComment());
        }
        
        //5.创建文件 new File(文件保存的URL);
        File file = new File("C:\\Users\\Administrator\\Downloads\\成绩.xls");
         
        //6.写入数据
		OutputStream outputStream = new FileOutputStream(file);
		
        //7.写出文件,关闭流
        hssfWorkbook.write(outputStream);
        hssfWorkbook.close();
    }
}

这样在我们本地就有一个名为成绩的Excel表啦!
-------------最后我在编写的过程中成功导入jar包但是运行时会报类找不到异常,解决办法是把STS关闭重新打开运行!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哈哈哈都疯了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值