많은 소스에 따르면 과 같은 많은 소스에 따르면 POI에서 Excel 차트를 사용하는 유일한 방법은 기존 차트가있는 Excel 파일을 템플릿으로 사용하고 차트에서 사용하는 소스 셀을 수정하는 것입니다. 그리고 그것은 훌륭하게 작동합니다.Apache POI : 차트가 포함 된 워크 시트의 복제
문제는 같은 차트이지만 다른 (동적으로 생성 된) 데이터를 가진 워크 시트를 하나만 포함하고 여러 개 (컴파일 타임에 얼마나 많은지) 알 필요가 있다는 것입니다. 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)
UPDATE :
내가 XSSF로 전환, 지금 적어도 더 런타임 예외가 없다. 시트 데이터는 복제되었지만 차트는 복제되지 않습니다 (복제 된 시트에는 존재하지 않음).
차트가있는 워크 시트를 복제하는 데 성공한 사람이 있습니까? 아니면 우리가 가진 문제를 해결하는 방법, 즉 POI로 동적 워크 시트 수에 대한 Excel 차트를 생성하는 방법에 대한 아이디어가 있습니까? 나는 매우 복잡 해결 방법으로 결국
사용중인 POI 버전은 무엇입니까? – Gagravarr
@Gagravarr 3.7을 사용하고 있습니다. 또한 3.8 베타 5로 잠시 전환하여 3.8에서 수정되었는지 확인했지만 그렇지 않습니다. –
여전히 3.17에서 작동하지 않습니다. – jontro