Pio*_*zyk 3 java excel export-to-excel apache-poi
根据众多消息来源,例如官方页面上的限制部分,可能使用POI的Excel图表的唯一好方法是使用现有图表作为模板的Excel文件并修改图表使用的源单元格.而且效果很好.
问题是我们不仅需要一个而且需要多个(我们不知道在编译时有多少)具有相同图表但不同(动态生成)数据的工作表.使用cloneSheet(sheetNumber)是一种复制模板工作表的方法.但是,如果工作正常,直到图表被克隆.
当我尝试克隆带有图表的工作表时,我得到:
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:71)
at org.apache.poi.hssf.model.InternalSheet.cloneSheet(InternalSheet.java:388)
at org.apache.poi.hssf.usermodel.HSSFSheet.cloneSheet(HSSFSheet.java:125)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.cloneSheet(HSSFWorkbook.java:652)
Run Code Online (Sandbox Code Playgroud)
更新:
我切换到XSSF,现在至少没有运行时异常.工作表数据是克隆的,但不是图表(它们不存在于克隆表中).
有没有人成功克隆带有图表的工作表?或者也许有人知道如何解决我们遇到的问题,即为POI生成动态数量的工作表的excel图表?
我最终得到了相当复杂的解决方法:
实现这个概念上简单和常见的用例(即使用图表导出到Excel)是一项认真的努力,但至少它是可能的并且它运行得很好.