日期:2014-05-19  浏览次数:20629 次

poi 复制excel sheet问题!求高手解答!
我用的poi3.7版本的包。已经算是高版本了。支持excel2003,2007的读写! 
  但是HSSFWorkbook.cloneSheet()方法只能对excel2003中的sheet进行复制。就连在excel2007中新建的一个空白sheet复制也会报错! 有哪位高手见过类似问题?搞了几天了 实在没办法了!求助!

这是报错代码
Exception in thread "main" java.lang.RuntimeException: The class org.apache.poi.hssf.record.HeaderFooterRecord needs to define a clone method
at org.apache.poi.hssf.record.Record.clone(Record.java:71)
at org.apache.poi.hssf.model.InternalSheet$RecordCloner.visitRecord(InternalSheet.java:369)
at org.apache.poi.hssf.record.aggregates.PageSettingsBlock.visitIfPresent(PageSettingsBlock.java:293)
at org.apache.poi.hssf.record.aggregates.PageSettingsBlock.visitContainedRecords(PageSettingsBlock.java:289)
at org.apache.poi.hssf.model.InternalSheet.cloneSheet(InternalSheet.java:385)
at org.apache.poi.hssf.usermodel.HSSFSheet.cloneSheet(HSSFSheet.java:133)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.cloneSheet(HSSFWorkbook.java:664)
at com.founder.hyousyou.ysm.ReadXlsTest.copySheet(ReadXlsTest.java:74)
at com.founder.hyousyou.ysm.ReadXlsTest.copySheet(ReadXlsTest.java:78)
at com.founder.hyousyou.ysm.ReadXlsTest.main(ReadXlsTest.java:190)
 

------解决方案--------------------
这话等于费话啊..
HSSFWorkBook 就是针对Excel2003的.
2007我还没处理过..不过在API上有一个XSSFWorkBook

你自己查一下..用法感觉差不多的.
------解决方案--------------------
2003 使用HSSFWorkbook 2007使用XSSFWorkbook,这两种类型应该分开处理