首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java施用集锦8:使用poi进行excel操作,同时支持excel2003和2007

2012-10-31 
java应用集锦8:使用poi进行excel操作,同时支持excel2003和2007下面的这段代码仅仅支持excel2003,要同时支

java应用集锦8:使用poi进行excel操作,同时支持excel2003和2007

下面的这段代码仅仅支持excel2003,要同时支持2007和2003的excel请看后半部分!!

经常使用exlce的操作,以前工作使用的jxl,现在工作又使用poi.还好以前总结过,轻松搞定.这里再次把代码贴出来,可以直接使用.

?ExcelReader.java(仅对2003的excel操作有效!)

public ExcelReader(File exl) throws IOException {            fis = new FileInputStream(exl);            workbook = WorkbookFactory .create(fis);            msg = new StringBuffer();    }     public ExcelReader(String exlFileName) throws IOException {File file = new File(exlFileName);fis = new FileInputStream(file);workbook = WorkbookFactory .create(fis);msg = new StringBuffer();}    public ExcelReader(InputStream input) throws IOException {workbook =WorkbookFactory .create(fis);msg = new StringBuffer();}
?

?

在实践中,遇到了这样的一个异常:

java.lang.NegativeArraySizeException
??????? at org.apache.poi.hssf.record.SSTDeserializer.readStringRemainder(SSTDeserializer.java:335)
??????? at org.apache.poi.hssf.record.SSTDeserializer.processContinueRecord(SSTDeserializer.java:320)
??????? at org.apache.poi.hssf.record.SSTRecord.processContinueRecord(SSTRecord.java:539)
??????? at org.apache.poi.hssf.record.RecordFactory.createRecords(RecordFactory.java:216)
??????? at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:181)
??????? at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:228)
??????? at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:209)
?找了很久,结果换成使用最新的poi包,以及修改使用上面的create()创建新的workBook对象就可以了(后来不改这个类也可以,仅仅换包就行了),有点奇怪,不知道怎么引起的...

1 楼 米奇风 2011-10-21   作者代码风格很规范,这篇文章很好,消除大多数人在开发过程中的疑惑,一针见血

热点排行