- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Jett 用户邮件列表上发布了这个,但一个多月没有回复。
我在您的网站上看到您有:Beans on a Per-Sheet Basis/Cloning Sheets
http://jett.sourceforge.net/transformation/sheet_specific_beans.html
如果模板工作表包含 Excel 图表,当 Jett 克隆该模板工作表时,是否会完全复制工作表上的所有内容,包括图表?
最佳答案
JETT 依靠 Apache POI 来执行所有电子表格操作。要复制模板表,它调用 Workbook
's cloneSheet
method .该方法似乎可以尽可能地复制所有内容,但它根本不能很好地复制图表。我测试了使用“工作表特定 bean”和工作表上的图表以克隆到模板工作表中。我测试了 .xls 和 .xlsx 模板,并尝试了 Apache POI 3.9、3.10 和 3.11。我使用的是最新版本的 JETT,在撰写本文时为 0.9.0。
无论使用何种版本的 Apache POI,结果都是相同的。根据使用的是 .xls (HSSF) 还是 .xlsx (XSSF),结果会有所不同,但无论哪种方式,结果都不好。
当 cloneSheet
方法被调用时,我得到一个来自 Apache POI 的 RuntimeException
:
Exception in thread "main" java.lang.RuntimeException: The class
org.apache.poi.hssf.record.chart.ChartFRTInfoRecord needs to define a clone method
at org.apache.poi.hssf.record.Record.clone(Record.java:73)
at org.apache.poi.hssf.model.InternalSheet.cloneSheet(InternalSheet.java:418)
at org.apache.poi.hssf.usermodel.HSSFSheet.cloneSheet(HSSFSheet.java:142)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.cloneSheet(HSSFWorkbook.java:749)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.cloneSheet(HSSFWorkbook.java:100)
at net.sf.jett.transform.ExcelTransformer.transform(ExcelTransformer.java:549)
此异常会阻止生成结果电子表格。
对 cloneSheet
的调用成功,但生成的电子表格已损坏。当我在 Excel 中打开电子表格时,它会提示“内容不可读”,并且它会从每个克隆的工作表中删除图表对象,原始工作表除外。如果原始工作表的名称没有改变,那么该图表将完好无损。但是,如果原始模板表的名称确实发生了变化,那么图表的系列引用不会发生变化并且会丢失。
不幸的是,JETT 对此无能为力;这是一个 Apache POI 问题。当 Apache POI 为图表创建 API 支持时,希望这会有所改善。欢迎在 Apache POI's bug database 中添加新错误.
关于java - 杰特 : Excel Templating in Java : cloning sheets that contain charts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27734274/
我正在尝试使用 Jett 来转换我的工作簿,如下所示: HashMap tm = new HashMap(); tm.put("mod", "123"); ExcelTransformer t = n
我在 Jett 用户邮件列表上发布了这个,但一个多月没有回复。 这里是问题 我在您的网站上看到您有:Beans on a Per-Sheet Basis/Cloning Sheets http://j
我是一名优秀的程序员,十分优秀!