首页 > 编程语言 >java poi 模板导出 套用表格格式

java poi 模板导出 套用表格格式

时间:2025-01-10 15:46:04浏览次数:1  
标签:sheet java rowIndex A1 poi workbook new XSSFWorkbook 模板

模板文件格式如下

 生成数据后样式如下

 

poi3.17 

excel2007已上 xlsx

 

直接上代码。拿走不谢!

 1 public static XSSFWorkbook readTemplate(String filePath) throws IOException {
 2         try (FileInputStream fis = new FileInputStream(filePath)) {
 3             return new XSSFWorkbook(fis);
 4         }
 5     }
 6     
 7     //套用表格样式
 8     @SneakyThrows
 9     public static void main(String[] args) {
10 
11         // 创建一个新的工作簿,从现有的Excel模板
12         XSSFWorkbook workbook = readTemplate("D:\\test.xlsx");
13 //        XSSFWorkbook workbook = new XSSFWorkbook("D:\\test.xlsx");
14         XSSFSheet sheet = workbook.getSheetAt(0);
15 
16 // 创建数据格式对象
17         XSSFDataFormat format = workbook.createDataFormat();
18 // 获取货币格式,这里以人民币符号为例
19         short formatFormat = format.getFormat("¥#,##0.00");
20 
21         for (int i = 0; i < 10; i++) {
22 //        // 假设我们要在索引为1的位置插入一行
23             int rowIndex = i + 1;
24 //        sheet.shiftRows(rowIndex, sheet.getLastRowNum(), 1);
25             Row newRow = sheet.createRow(rowIndex); // 创建新行
26 
27             // 在新行中创建单元格并设置值
28             Cell cell0 = newRow.createCell(0);
29             cell0.setCellValue("aa" + rowIndex);
30 
31             Cell cell1 = newRow.createCell(1);
32             cell1.setCellValue(rowIndex);
33 
34             Cell cell2 = newRow.createCell(2);
35             cell2.setCellValue(rowIndex);
36             cell2.setCellStyle(workbook.createCellStyle()); // 创建新的单元格样式
37             cell2.getCellStyle().setDataFormat(formatFormat); // 应用货币格式
38         }
39 
40         //修改套用表格格式的区域
41         List<XSSFTable> tables = sheet.getTables();
42         XSSFTable xssfTable = tables.get(0);
43         //注意 区域 每次只能 横向或者纵向调整,不能 横纵向一块调整 例如(原A1:A10;只能A1:A5或者A1:C10。不能一次性调整到A1:C5)
44 //        AreaReference areaReference = new AreaReference(new CellReference(0,0), new CellReference(10,2), SpreadsheetVersion.EXCEL2007);
45         AreaReference areaReference = new AreaReference("A1:C11", SpreadsheetVersion.EXCEL2007);
46         xssfTable.setCellReferences(areaReference);
47 
48         // 写入到文件
49         try (FileOutputStream outputStream = new FileOutputStream("D:\\test1.xlsx")) {
50             workbook.write(outputStream);
51         } catch (IOException e) {
52             e.printStackTrace();
53         } finally {
54             try {
55                 workbook.close();
56             } catch (IOException e) {
57                 e.printStackTrace();
58             }
59         }
60     }

 

标签:sheet,java,rowIndex,A1,poi,workbook,new,XSSFWorkbook,模板
From: https://www.cnblogs.com/h2285409/p/18664078

相关文章

  • 深入解析:利用Java爬虫挖掘淘宝商品评论的宝藏
    在当今数字化时代,消费者的声音成为了品牌和商家决策的关键因素。淘宝作为国内领先的电商平台,其商品评论数据蕴含着巨大的商业价值。本文将带你深入了解如何利用Java爬虫技术,通过淘宝商品评论API接口(item_review),高效地获取并分析这些宝贵的用户反馈,为你的电商运营、市场调研或数据......
  • JavaScript系列(16)--原型继承
    JavaScript原型继承......
  • JAVA数组
    1、数组定义:是一种容器,可以用来存储同种数据类型的多个值。数据容器在存储容器的时候,需要结合隐式转换考虑。建议:容器的类型和存储的数据类型保持一致。2、数组格式:一、数据类型[]数组名二、数据类型数组名[]3、数组初始化:初始化:就是在内存中,为数组容器开辟容器,......
  • JAVA方法
    1、什么是方法?方式(method)是程序中最小的执行单元。2、方法的用处和好处?用处:重复的代码、具有独立功能的代码可以抽取到方法中。好处:可以提高代码的复用性;可以提高代码的可维护性3、方法的格式方法定义:把一些代码打包在一起,该过程称为方法定义方法调用:方法定义后并不......
  • Java实现生成永不重复的数字方案详解
    哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云/阿里云/华为云/51CTO;欢迎大家常来逛逛  今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。  我是一名后端开发爱好者......
  • python+django/flask的惠安租房管理平台java+nodejs+php-计算机毕业设计
    目录技术栈和环境说明具体实现截图预期达到的目标系统设计详细视频演示技术路线解决的思路性能/安全/负载方面可行性分析论证python-flask核心代码部分展示python-django核心代码部分展示研究方法感恩大学老师和同学源码获取技术栈和环境说明本系统以Python开发语言......
  • python+django/flask的会议室预定系统java+nodejs+php-计算机毕业设计
    目录技术栈和环境说明具体实现截图预期达到的目标系统设计详细视频演示技术路线解决的思路性能/安全/负载方面可行性分析论证python-flask核心代码部分展示python-django核心代码部分展示研究方法感恩大学老师和同学源码获取技术栈和环境说明本系统以Python开发语言......
  • java后端 进行 url 编码和解码
    有备考软考的小伙伴,想积分落户,单位评职称?科目太多不知道怎么选?考试考点难点太多没有头绪?刚准备1个多月过了高级,关注我,我整理了软考各科目的报考条件、适合人群以及备考攻略,可以直接领取:https://d.51cto.com/bLN8S1Java后端进行URL编码和解码在现代的Web开发中,URL编码和解码是一......
  • Java 实现 Elasticsearch 查询当前索引全部数据
    Java实现Elasticsearch查询当前索引全部数据需求背景通常情况Java实现查询Elasticsearch全部数据写在最后需求背景通常情况下,Elasticsearch为了提高查询效率,对于不指定分页查询条数的查询语句,默认会返回10条数据。那么这就会有一种情况,当你需要一次性返回Ela......
  • Java基于SpringBoot的企业客源关系管理系统
    文章目录详细视频演示项目介绍技术介绍功能介绍核心代码系统效果图详细视频演示文章底部名片,获取项目的完整演示视频,免费解答技术疑问项目介绍  随着市场竞争的加剧和消费者需求的多样化,企业越来越意识到建立和维护良好的客户关系对于实现可持续发展的重要性。......