【异常解决】jxl.write.biff.JxlWriteException: Attempt to modify a referenced format
一般用jxl在插入单元格内容之前都需要对ceil进行各种各样的样式设置,比如以下的:
WritableFont font1 = new WritableFont(WritableFont.TIMES, 12,WritableFont.BOLD);WritableCellFormat formatTitle = new WritableCellFormat(font1);// 表头样式formatTitle.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN);formatTitle.setAlignment(jxl.format.Alignment.CENTRE);WritableCellFormat formatCeil = new WritableCellFormat();// 非表头样式formatCeil.setAlignment(jxl.format.Alignment.CENTRE);formatCeil.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN);
然后后面就用这两个对象进行插入的时候重用样式,比如:
Label titel0 = new Label(0, 0, "日期", formatTitle);// (列,行,值)
wsheet0.addCell(titel0);
今天遇到一个问题,就是想要在原来的样式对象的基础上进行增量修改的,再对某一些单元格进行插入,我们很理所当然地会想到以下的写法:
//在新的对象上增量设置,减少代码冗余
WritableCellFormat newFormat=formatTitle4sheet3;//下单错误统计头橙色newFormat.setBackground(Colour.ORANGE);
可是,本应该“理所当然”正确运行的代码却发生了异常:
jxl.write.biff.JxlWriteException: Attempt to modify a referenced formatat jxl.write.biff.CellXFRecord.setBackground(CellXFRecord.java:100)at jxl.write.WritableCellFormat.setBackground(WritableCellFormat.java:192)at jxl.write.WritableCellFormat.setBackground(WritableCellFormat.java:180)
后来查阅资料得知,已经被引用了的WritableCellFromat对象是不可以再修改的,否则就报以上的错了。大概是处于安全的考虑...
将代码冗余地再重新设置一遍,将上面定义表头样式的句子和增量的样式定义,啰嗦地重写一遍,对象名字重新取一下就可以了,相信大家不需要再看这么无聊的代码了吧,就不贴了。
然后运行就正常了。
【异常解决】jxl.write.biff.JxlWriteException: Attempt to modify a referenced format相关推荐
- 发生异常:jxl.read.biff.BiffException
今天在项目需要对excel文本解析,读取里面的内容.开始是使用WPS制作的.xlsx格式文件.但是Workbook不能解析该格式表格.所以抛出此异常"发生异常:jxl.read.biff.B ...
- java读取Excel 错误 jxl read biff BiffException Unable to recog
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! java ...
- jxl.read.biff.BiffException: Unable to recognize OLE stream解决方法
jxl.read.biff.BiffException: Unable to recognize OLE stream解决方法 参考文章: (1)jxl.read.biff.BiffException ...
- java提示OLE错误,java – 如何解决JXL错误:jxl.read.biff.BiffException:无法识别OLE流...
我正在尝试从我的.csv文件获取单元格数据,但它得到错误: jxl.read.biff.BiffException:无法识别OLE流 我不明白如何解决这个问题,请给我一些解决方案 这段代码用于jxl ...
- jxl.read.biff.BiffException: Unable to recognize OLE stream异常
jxl.read.biff.BiffException: Unable to recognize OLE stream异常 参考文章: (1)jxl.read.biff.BiffException: ...
- jxl.read.biff.BiffException: Unable to recognize OLE stream原因及解决方法
合并文件夹下所有.xls文件,用jxl来编写程序报错jxl.read.biff.BiffException: Unable to recognize OLE stream 原因有二: 1. jxl包只 ...
- jxl.write.biff.RowsExceededException: The maximum number of rows permitted on a worksheet been excee
jxl.write.biff.RowsExceededException: The maximum number of rows permitted on a worksheet been excee ...
- jxl.read.biff.BiffException: Unable to recognize OLE stream:
jxl.read.biff.BiffException: Unable to recognize OLE stream: --原因分析:文件为.xlsx文件,非.xls文件,即使修改了后缀名也不可以, ...
- jxl.write.biff.RowsExceededException: The maximum number of rows permitted on a worksheet been exce
jxl.write.biff.RowsExceededException: The maximum number of rows permitted on a worksheet been excee ...
最新文章
- 【ACM】杭电OJ 2044 2045
- checkpoint process vs writer process vs wal writer process
- 熊本熊之父来鹅厂啦!这是一场关于设计和体验的有趣之旅!
- Haproxy 与 Cookie
- 进程与线程的区别:最浅显易懂的解释
- 微信缓存dat怎么转图片_图片怎么转PDF?这个方法完美解决!
- Jvm处理Java Thread 的run方法中抛出异常的流程
- linux设备驱动程序 脚本之家,linux – 使用systemd自动挂载USB驱动器
- win10忘记密码——无需启动盘修改密码
- 惊帆健康监测模块,心率检测模块
- 如何政治正确地黑中国玄幻小说?!
- android root工具排行榜,可root任何机?史上最强安卓root工具出炉
- P5208-[WC2019] I 君的商店【交互,二分】
- Vue, App与我(十三)
- Codeforces Round #643 (Div. 2)-C. Count Triangles(差分,前缀和)(避免标题重复率的小括号)
- Project2019安装步骤
- Planting Trees Day 植树节 一起去种树
- git使用 - 暂存更改
- 【本人秃顶程序员】美女程序员观点:程序员最重要的非编程技巧
- 奥鹏计算机19在线作业答案,东师计算机应用基础19春在线作业1【标准答案】