SpringBoot——生成Excel文件

embedded/2025/2/27 15:33:18/

在Springboot以及其他的一些项目中,或许我们可能需要将数据查询出来进行生成Excel文件进行数据的展示,或者用于进行邮箱发送进行附件添加

依赖引入

此处demo使用maven依赖进行使用

java"><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>5.2.3</version>
</dependency>
<dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>5.2.3</version>
</dependency>

依赖说明

  1. poi-ooxml:这个依赖主要用于处理 .xlsx 格式的 Excel 文件(Excel 2007 及以上版本)。它依赖于 poi 和 ooxml-schemas 等其他库,提供了对 Office Open XML 格式文件的支持。
  2. poi:这是 Apache POI 的核心库,提供了基本的 Excel 操作功能,包括创建工作簿、工作表、行和单元格等。

 代码实例

此处我们需要将用户的信息使用lis进行传输,通过遍历这个list集合进行向我们事先生成的excel文件中进行添加数据

java">public class ExcelGeneratorUtil {public static void generateExcel(List<Pitch> pitches) {try {//创建一个新的 Excel 工作簿对象,XSSFWorkbook 用于处理 .xlsx 格式的 Excel 文件Workbook workbook = new XSSFWorkbook();//创建一个文件输出流,用于将工作簿中的数据写入到名为 recommendedColleges.xlsx文件中FileOutputStream fileOut = new FileOutputStream("recommendedColleges.xlsx");//在工作簿中创建一个名为 Recommended Colleges 的工作表Sheet sheet = workbook.createSheet("Recommended Colleges");// 创建表头 选择第0行进行作为表头 并进行设置表头信息Row headerRow = sheet.createRow(0);Cell headerCell1 = headerRow.createCell(0);headerCell1.setCellValue("学校编号");Cell headerCell2 = headerRow.createCell(1);headerCell2.setCellValue("学校名称");Cell headerCell3 = headerRow.createCell(2);headerCell3.setCellValue("专业编号");Cell headerCell4 = headerRow.createCell(3);headerCell4.setCellValue("专业名称");Cell headerCell5 = headerRow.createCell(4);headerCell5.setCellValue("专业最低分");Cell headerCell6 = headerRow.createCell(5);headerCell6.setCellValue("专业最低位次");// 填充数据 初始化行号为 1int rowNum = 1;for (Pitch p : pitches) {//在工作表中创建新的行,并将行号加 1Row row = sheet.createRow(rowNum++);Cell cell1 = row.createCell(0);cell1.setCellValue(p.getSchoolCode());Cell cell2 = row.createCell(1);cell2.setCellValue(p.getSchoolName());Cell cell3 = row.createCell(2);cell3.setCellValue(p.getpCode());Cell cell4 = row.createCell(3);cell4.setCellValue(p.getpName());Cell cell5 = row.createCell(4);cell5.setCellValue(p.getLowestScore());Cell cell6 = row.createCell(5);cell6.setCellValue(p.getLowestRank());}//置每列的宽度,参数 1 是列索引,参数 2 是列宽,单位是 1/256 个字符宽度sheet.setColumnWidth(0, 15 * 256);sheet.setColumnWidth(1, 50 * 256);sheet.setColumnWidth(2, 15 * 256);sheet.setColumnWidth(3, 20 * 256);sheet.setColumnWidth(4, 15 * 256);sheet.setColumnWidth(5, 15 * 256);//将工作簿中的数据写入到文件输出流中,即保存到文件中workbook.write(fileOut);} catch (Exception e) {e.printStackTrace();}}
}

最终实现了excel文件的创建和使用


http://www.ppmy.cn/embedded/167562.html

相关文章

【微信小程序】Source Map文件使用 快速定位错误位置

Source Map文件可以快速定位小程序报错位置&#xff0c;更方便解决问题&#xff0c;下面具体讲讲如何使用Source Map文件&#xff1a; 1.进入We分析后台&#xff08;https://wedata.weixin.qq.com/&#xff09;&#xff0c;左侧菜单&#xff1a;性能质量-JS分析&#xff0c;可以…

pytorch阶段性总结1

Dataset类,自定义数据集,想要使用这个类需要重写两个方法__init__和__getitem__ __init__可以用来初始化数据集所在位置的路径,__getitem__用来定义获取数据的方式 from torch.utils.data import Dataset from PIL import Image import os #自定义数据集简单示例 class MyDa…

CSS中选择器的优先级

通过不同的选择器,选中相同的元素,并且为相同的样式名设置不同的值时,就发生了样式的冲突.到底使用那个样式,如此就需要看优先级了. important!>行内样式 > ID选择器 > 类选择器 > 元素选择器 > 通配符选择器 1.选择器优先级分类 a类:ID选择器 b类:类,伪类,属…

Uniapp 中布局魔法:display 属性

一、开启 Uniapp 布局魔法之旅 各位 Uniapp 开发的小伙伴们&#xff0c;欢迎来到 Uniapp 这个充满创意和挑战的魔法世界&#xff01;在构建跨平台应用时&#xff0c;页面布局就像是搭建一座梦幻城堡&#xff0c;而 display 属性则是我们手中的神奇魔杖&#xff0c;能让元素们按…

FTP出现“打开 FTP 服务器上的文件夹时发生错误。请检查是否有权限访问该文件夹。”如何处理?

关闭“使用被动FTP”功能&#xff1a;在控制面板的“Internet选项”中&#xff0c;点击“高级”标签卡&#xff0c;找到“使用被动FTP&#xff08;为防火墙和DSL调制解调器兼容性&#xff09;”&#xff0c;并取消勾选124。 检查FTP服务器设置&#xff1a;确保FTP服务器没有开…

第47天:Web开发-JavaEE应用JNDI注入RMI服务LDAP服务DNS服务高版本限制绕过

#知识点 1、安全开发-JavaEE-JNDI注入-LADP&RMI&DNS等 2、安全开发-JavaEE-JNDI注入-项目工具&手工原理等 协议 作用 LDAP 轻量级目录访问协议&#xff0c;约定了 Client 与 Server 之间的信息交互格式、使用的端口号、认证方式等内容 RMI JAVA 远程方法协议&…

MLops:可解释深度神经网络训练平台Neural Designer ®

可解释深度神经网络训练平台Neural Designer 可解释神经网络训练平台Neural Designer NeuralDesign深度学习 基本介绍 Neural Designer是Artelnics公司研发的一款基于深度神经网络&#xff08;人工智能研究主要领域&#xff09;的机器学习软件包。她包含一个图形用户界面&…

哈希表模拟封装unordered_map和unordered_set

杀马特主页&#xff1a;羑悻的小杀马特.-CSDN博客 ------ ->欢迎阅读 欢迎阅读 欢迎阅读 欢迎阅读 <------- 目录 前言&#xff1a; 一哈希表的调用&#xff1a; 二底层hash的修改操作…