首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jett : Java中的Excel模板:包含图表的克隆表

Jett : Java中的Excel模板:包含图表的克隆表
EN

Stack Overflow用户
提问于 2015-01-01 20:15:54
回答 1查看 2.6K关注 0票数 2

我把这个贴在了Jett用户的邮件列表上,但在一个多月内没有回复。

以下是问题所在

我看到你的网站上有:每个单张的Beans /克隆单。

beans.html

如果模板工作表包含Excel图表,当Jett克隆该模板工作表时,它是否完全复制工作表上的所有内容,包括图表?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-09 00:19:49

JETT依赖于Apache来执行所有电子表格操作。要复制模板表,它调用方法。这种方法似乎能尽可能地复制所有的图表,但是它根本就没有很好地复制图表。我使用“工作表特定bean”进行测试,在工作表上有一个图表,以便在模板表中克隆。我测试了.xls和.xlsx模板,并尝试了ApachePOI3.9、3.10和3.11。我使用了JETT的最新版本,在本文撰写时它是0.9.0。

无论使用哪个版本的Apache,结果都是一样的。结果取决于是否使用.xls (HSSF)或.xlsx (XSSF),但无论是哪种方式,结果都不是很好。

  • .xls转换:

当调用cloneSheet方法时,我得到一个来自Apache的RuntimeException

代码语言:javascript
复制
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)

此异常阻止生成结果电子表格。

  • .xlsx转换:

cloneSheet的调用成功,但结果电子表格已损坏。当我在Excel中打开电子表格时,它会抱怨“不可读的内容”,并从每个克隆的工作表中删除图表对象,原始表除外。如果原始工作表的名称没有改变,那么图表就完好无损地保存下来。但是,如果原始模板表的名称确实发生了更改,则图表的系列引用不会更改并丢失。

不幸的是,杰特对此无能为力;这是一个Apache问题。当Apache为图表创建API支持时,希望这会有所改进。可以在Apache的bug数据库中添加一个新的bug。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27734274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档