java.lang.IllegalArgumentException: This Style does not belong to the supplied Workbook 异常分析及解决

java-poi实现:合并汇总不同ecxel的同名sheet页数据 java-poi、excel操作 阅读详情
AI摘要

探讨了在使用Apache POI框架进行Excel导出时,遇到的关于样式缓存导致的异常问题。详细分析了异常原因,并提供了解决方案,强调了编码中保持幂等性和避免缓存部分变量的重要性。

关注公众号 `N学无止界` 获取更多

场景描述:
         某框架系统导出Excel时候第一次可以正常导出,第二次以及后续抛出异常。

java.lang.IllegalArgumentException: This Style does not belong to the supplied Workbook. Are you trying to assign a style from one workbook to the cell of a differnt workbook?

at org.apache.poi.hssf.usermodel.HSSFCellStyle.verifyBelongsToWorkbook(HSSFCellStyle.java:799)

at org.apache.poi.hssf.usermodel.HSSFCell.setCellStyle(HSSFCell.java:909)

at org.apache.poi.hssf.usermodel.HSSFCell.setCellStyle(HSSFCell.java:905)

at org.apache.poi.ss.util.CellUtil.createCell(CellUtil.java:128)

at org.apache.poi.hssf.util.HSSFCellUtil.createCell(HSSFCellUtil.java:78)

依赖环境:
         JDK1.6  Tomcat7.0  poi-3.7.jar

原因如下:

   1.抛出异常位置:

   2.引起异常位置:

处理办法:

  删除style的缓存 如下:

总结

   编码要保持幂等性,这里再一次提现缓存部分变量带来的异常。

Java使用Apache POI向Excel插入图片的3种方式与性能优化实战 在Java企业级应用开发中,报表生成与数据导出是常见的业务需求,而将图片嵌入Excel文档则是提升数据可视化与文档信息承载力的关键技术点。其核心原理在于通过操作Excel的底层对象模型,将图片数据以特定格式写入工作簿的相应位置。从技术价值看,这直接关系到生成文档的规范性、可读性以及系统在处理大批量数据时的稳定性与性能。在实际应用场景中,无论是电商系统的商品报表、人力资源的员工信息表,还是数据分析报告,都需要高效、精准地实现图片与表格的融合。本文聚焦于使用Apache POI这一Java操作Office文档的 阅读详情

相关推荐

Java脚手架生成的工程化革命:从代码补全到生产就绪

脚手架生成已超越传统代码补全,成为Java工程交付的核心能力。其本质是将Spring Boot、MyBatis-Plus、Redisson等框架的版本兼容性、依赖冲突治理、安全规范与可观测性配置等工程知识,转化为可执行的自动化流程。关键技术价值在于规避Jakarta EE迁移陷阱、实现多数据库适配、预防Lombok/Builder冲突等高频痛点,并支撑CI/CD直通、信通院认证、Fortify安全扫描等企业级交付标准。典型应用场景包括微服务快速搭建、遗留系统框架升级、高并发秒杀服务初始化等。本文聚焦2026

weixin_34199405的博客 401

POI生成Excel如果并发的情况报错This Style does not belong to the supplied Workbook. Are you trying to assign a s

1:POI生成Excel在并发的情况下报错:  This Style does not belong to the supplied Workbook. Are you trying to assign a style from one workbook to the cell of a differnt workbook?  2:原因是给单元格设置样式的时候用的HSSFCell下

u010523770的专栏 1万+

接口测试系列教程--13.2--POI生成Excel在并发的情况下报错

1:POI生成Excel在并发的情况下报错: This Style does not belong to the supplied Workbook. Are you trying to assign a style from one workbook to the cell of a differnt workbook? 2:原因是给单元格设置样式的时候用的HSSFCell下的setCel...

雨水的早晨的博客 4520

This Style does not belong to the supplied Workbook. Are you trying to assign a style from one workb

http://jjw198874.blog.163.com/blog/static/1889845522011102401854234/ POI按照源单元格设置目标单元格格式   2011-11-24 00:25:07|  分类: 日记 |  标签:java  eclipse  javaexcel  poi   |字号大中小 订阅 poi按

走马观花 1万+

java.lang.IllegalArgumentException: This Style does not belong to the supplied Workbook异常的解决办法

java.lang.IllegalArgumentException: This Style does not belong to the supplied Workbook异常的解决办法

wbajsjhhhhh的博客 3473

AR8035 Data Sheet

AR8035 Data Sheet

This Style does not belong to the supplied Workbook Are you

This Style does not belong to the supplied Workbook Are you

qq_43685474的博客 2995

ANSYS Fluent 2023R2实战:用欧拉多相流模型搞定流化床模拟(附详细参数避坑)

本文详细解析了ANSYS Fluent 2023R2中欧拉多相流模型在流化床模拟中的应用,包括模型选择、材料属性设置、相间作用力配置及初始化技巧。特别针对高颗粒浓度工况提供参数优化方案,帮助工程师提升模拟精度与效率,适用于化工、能源等领域的流化床反应器设计。

weixin_30938149的博客 268

java.lang.IllegalArgumentException异常

问题概述 在项目开发的工作中,需要对数据报表进行导入导出的操作,为了方便快捷,使用的了EasyPOI,EasyPOI就像其名称一样,让报表操作的更容易些,它主要对POI进行了再封装,不像以前使用POI,长篇长篇的配置。 使用EasyPOI导出Excel报表时遇到了问题,异常信息: “ java.lang.IllegalArgumentException: object is not an instance of declaring class ” 错误信息如下: Caused by: java.lang.I

weixin_45970945的博客 1万+

Java后端实战:钉钉互动卡片消息从配置到生产级对接

在企业级消息推送场景中,机器人通知已从简单的文本向富交互演进。其核心原理在于通过可交互的卡片模板,将传统单向通知升级为双向、有状态的微型应用界面,实现了用户无需跳转即可完成操作的技术价值。这广泛应用于审批、任务确认、数据填报等需要即时反馈的业务流程。本文聚焦于钉钉平台,深入剖析其互动卡片消息机制,并基于Java后端,系统讲解如何实现包括安全验签、异步回调与卡片动态更新在内的生产级对接方案,涵盖配置管理、服务降级等工程实践关键点,助力构建稳定高效的企业消息交互服务。

weixin_30617737的博客 435

IGBT单管并联方案全解析:从均流设计到热管理实战技巧

本文深入解析了IGBT单管并联技术在新能源车电驱系统中的应用,重点探讨了均流设计与热管理实战技巧。通过优化寄生电感控制、动态均流和驱动电路设计,提升系统稳定性和效率,为工程师提供了一套完整的解决方案。

weixin_28720573的博客 440

POI IllegalArgumentException: Sheet index (0) is out of range (no sheets)问题解决

问题描述: java.lang.IllegalArgumentException: Sheet index (0) is out of range (no sheets) 问题分析: 1、使用POI的workbook.getSheetAt()方法,由于没有创建Sheet,导致获取Sheet失败。 Sheet sheet = workbook.getSheetAt(0); 解决办法: 使用workbook.createSheet()方法即可。 Sheet sheet = workbook.cr

旭东怪的博客 5607

基于CANoe的Basic Diagnostics ECU (UDS)

基于CANoe的Basic Diagnostics ECU (UDS)

farmer00的博客 9153

HSSFWorkbook中输出文件时的坑:The workbook already contains a sheet named

这里一共有两个坑,第一个坑是sheet名称长度,可以看到红框中,如果名称的长度大于31,这里就自动会将名称截取到31个字符,那么我们就可以判断出当时的错误,原因就是用户导出的数据中存在了两个长度大于31并且前31个字符都相同的情况(注意了老铁们,“equalsIgnoreCase”方法是忽略大小写的比较,而我们一般在判断重复的时候,习惯性使用的是equals方法,这个是区分大小写的比较,当出现sheet名称是“测试A”和“测试a”的时候,也会报出。好了,希望对大家有用,如有错误欢迎指正。

蓝桉 2986

HarmonyOS 鸿蒙开发DevEco Studio OpenHarmony:安全测试

通过对HarmonyOS应用生命周期建模和应用攻击面建模,采用静态数据流分析技术,提高漏洞发现的准确率,同时覆盖20余种攻击面,65+漏洞测试项,帮助开发者提前发现和识别漏洞隐患。在检测报告中,会针对每一项漏洞风险项给出明确的修复建议,可以帮助开发者快速修复漏洞。

斌擎科技 1181

Redhawk:什么是timing window?

STA timing file中timing window的作用和计算方式

m0_61544122的博客 1万+

生产环境新服务器Easyexcel导出文件报错The workbook already contains a sheet named ‘ ‘ ,其他环境正常

java.lang.IllegalArgumentException: The workbook already contains a sheet named '0' at org.apache.poi.xssf.usermodel.XSSFWorkbook.validateSheetName(XSSFWorkbook.java:910) at org.apache.poi.xssf.usermodel.XSSFWorkbook.createSheet(XSSFWorkbook.java:...

weixin_43048405的博客 7974

YOLOv13涨点改进 | 全网独家创新、HyperACE改进、注意力改进篇 | CVPR 2025| 引入LRSA局部区域自注意力模块,能提升其在细节捕捉、小目标检测和长距离依赖建模方面的能力

本文提出将LRSA(局部区域自注意力)模块集成到YOLOv13中,通过局部特征交互增强细节捕捉能力、小物体检测精度和长距离依赖建模。LRSA模块采用重叠图像块处理策略,在保持计算效率的同时提升复杂背景下的检测性能。文章详细介绍了模块结构、原理优势,并提供了三种改进方案:1)在主干网络添加LRSA层;2)将关键模块替换为DSC3k2_LRSA;3)采用HyperACE_LRSA结构。配套提供了完整的PyTorch实现代码和YAML配置文件,展示了该模块如何通过局部注意力机制平衡检测精度与推理速度。

Ai缝合怪、助力小伙伴高效发论文 344

java 操作excel遇到的问题

BUG 1. Caused by: java.lang.ClassNotFoundException: org.apache.poi.ss.usermodel.Chart 解决: 看了下maven,引入的包有冲突 导致,更新后不再报此错误,另外包的版本最好保持一致 2.java.lang.IllegalArgumentException: InputStream of class class org.apache.commons.compress.archivers.zip.ZipArchiveInpu

yclllllll的博客 2305

【软考高级架构】论文范文17——论软件系统架构评估及其应用(ATAM)

软件系统架构评估是保障系统质量属性满足业务目标的关键环节,架构权衡分析方法(Architecture Trade-off Analysis Method,ATAM)作为一种主流的架构评估方法,通过场景识别、敏感点与权衡点分析、风险与非风险决策识别等系统化活动,能够在架构设计早期发现潜在问题,降低后期修改成本。本文以笔者主导的某省级智慧医疗平台架构评估项目为案例,围绕ATAM方法的应用展开论述。笔者担任系统架构师,负责组织评估团队、引导场景捕获、分析架构决策、识别风险与权衡点。

qq837993702的博客 490

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

java.lang.IllegalArgumentException: Sheet index (1) is out of range (0..0)

java.lang.IllegalArgumentException: Sheet index (1) is out of range (0..0)

qq 117791303 3504

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

POI 导出excel Exception集合, 更新中...

1.java.lang.IllegalArgumentException: The workbook already contains a sheet of this nameAnswer: the same workbook cant have the same named sheet. Check your sheet name whether exist the same name

java journey 7161

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

MATLAB与Java深度集成:环境配置、核心机制与实战应用

在科学计算与工程开发中,跨语言互操作性是一项关键技术,它允许不同编程生态的优势互补。其核心原理在于通过虚拟机或接口层实现数据类型映射与函数调用转换。这种技术能显著扩展主语言的能力边界,例如在数据处理、算法集成和图形界面开发等场景中,直接复用成熟的外部库可避免重复开发,提升效率与性能。MATLAB作为广泛使用的计算环境,通过内置JVM提供了与Java生态的深度集成机制,支持无缝调用Apache POI、Apache Commons Math等高性能库,并能嵌入Swing组件以丰富GUI功能。本文聚焦于MATL

weixin_30487201的博客 414

easyexcel快速填充大数据量不覆盖后面的行解决方式

摘要:该代码实现了一个基于模板的Excel导出工具类FileCheckResultExportWriter,支持批注添加、背景色设置等功能。主要特点包括:1) 使用EasyExcel实现高性能导出;2) 通过模板文件定义数据填充区域;3) 支持批注内容添加和不同级别的背景色设置;4) 处理大量数据时保留模板样式和备注行;5) 提供SheetEndRowData类缓存和恢复备注行样式。使用示例展示了如何配置列名、添加批注和颜色标记,并导出包含5万行数据的Excel文件。该工具适用于需要保持模板格式同时处理大数

qq_36635569的博客 346

easyExcel生成excel本地和测试或正式环境的坑

java.lang.IllegalArgumentException: The workbook already contains a sheet with this name这是我在线上日志看到的问题,这句因为的实际意思是这个生成的excel表已经包含了sheet,如果遇到这个问题你需要检查自己生成的sheet名字。 但是遇到这个问题在本地是没有问题的但是发到了测试就就会出现这个问题,我是用的是easyExcel去生成excel时候遇到的问题,具体原因我也不太清楚,但是,因为以前也生成过以前的就没什么问题

niu_8865的博客 2133

Excel文件写入数据时出现的问题

java.lang.IllegalArgumentException: The workbook already contains a sheet of this name 在使用HSSFSheet类设置Excel表的表头时出现的bug,该异常信息的意思是:该工作簿已包含此名称的工作表。也就是表名重复?贴出我的代码。 HSSFSheet sheet = wb.createSheet((String) keywordMap.get("keyword") + "-" + (String) keywordMap

莽夫的博客 1万+
上一篇: IDEA配置Java类型模版统一风格
下一篇: eclipse install Decompiler
Jack_software
博客等级 码龄17年 1324粉丝 57原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

Jack_software

感谢打赏,我努力提供优质内容~

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

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

打赏作者

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

抵扣说明:

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

余额充值