一般用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相关推荐

  1. 发生异常:jxl.read.biff.BiffException

    今天在项目需要对excel文本解析,读取里面的内容.开始是使用WPS制作的.xlsx格式文件.但是Workbook不能解析该格式表格.所以抛出此异常"发生异常:jxl.read.biff.B ...

  2. java读取Excel 错误 jxl read biff BiffException Unable to recog

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! java ...

  3. jxl.read.biff.BiffException: Unable to recognize OLE stream解决方法

    jxl.read.biff.BiffException: Unable to recognize OLE stream解决方法 参考文章: (1)jxl.read.biff.BiffException ...

  4. java提示OLE错误,java – 如何解决JXL错误:jxl.read.biff.BiffException:无法识别OLE流...

    我正在尝试从我的.csv文件获取单元格数据,但它得到错误: jxl.read.biff.BiffException:无法识别OLE流 我不明白如何解决这个问题,请给我一些解决方案 这段代码用于jxl ...

  5. jxl.read.biff.BiffException: Unable to recognize OLE stream异常

    jxl.read.biff.BiffException: Unable to recognize OLE stream异常 参考文章: (1)jxl.read.biff.BiffException: ...

  6. jxl.read.biff.BiffException: Unable to recognize OLE stream原因及解决方法

    合并文件夹下所有.xls文件,用jxl来编写程序报错jxl.read.biff.BiffException: Unable to recognize OLE stream 原因有二: 1. jxl包只 ...

  7. 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 ...

  8. jxl.read.biff.BiffException: Unable to recognize OLE stream:

    jxl.read.biff.BiffException: Unable to recognize OLE stream: --原因分析:文件为.xlsx文件,非.xls文件,即使修改了后缀名也不可以, ...

  9. 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 ...

最新文章

  1. 【ACM】杭电OJ 2044 2045
  2. checkpoint process vs writer process vs wal writer process
  3. 熊本熊之父来鹅厂啦!这是一场关于设计和体验的有趣之旅!
  4. Haproxy 与 Cookie
  5. 进程与线程的区别:最浅显易懂的解释
  6. 微信缓存dat怎么转图片_图片怎么转PDF?这个方法完美解决!
  7. Jvm处理Java Thread 的run方法中抛出异常的流程
  8. linux设备驱动程序 脚本之家,linux – 使用systemd自动挂载USB驱动器
  9. win10忘记密码——无需启动盘修改密码
  10. 惊帆健康监测模块,心率检测模块
  11. 如何政治正确地黑中国玄幻小说?!
  12. android root工具排行榜,可root任何机?史上最强安卓root工具出炉
  13. P5208-[WC2019] I 君的商店【交互,二分】
  14. Vue, App与我(十三)
  15. Codeforces Round #643 (Div. 2)-C. Count Triangles(差分,前缀和)(避免标题重复率的小括号)
  16. Project2019安装步骤
  17. Planting Trees Day 植树节 一起去种树
  18. git使用 - 暂存更改
  19. 【本人秃顶程序员】美女程序员观点:程序员最重要的非编程技巧
  20. 奥鹏计算机19在线作业答案,东师计算机应用基础19春在线作业1【标准答案】

热门文章

  1. 融城杯 | 神州信息:金融科技助力乡村振兴
  2. 留言赠书|4位GNN一线大佬联手编撰新书,还未出版就爆火!
  3. IROS2021 自动驾驶文章汇总
  4. JS实现marquee滚动效果
  5. 计算机设备交易,交易方法、计算机设备和存储介质与流程
  6. 【综合篇】浏览器的工作原理:浏览器幕后揭秘
  7. 『迷你教程』数理统计必备统计计量计算方法及Python实现
  8. java jsp登录界面设计,用户登录注册系统(基于JSP和Servlet)
  9. 程序员大大们,平时都喜欢逛什么技术论坛?
  10. 新建园区弱电设计甲方经验谈(转载)