POI问题老是出异常,JAVA高手帮忙!
kimi 2009-01-17 11:20:46 在网络上看到POI比较好用,并且功能强大,今天下了个POI准备使用下,但是在写好代码后运行时候出现此问题,请各位高手指教.
JDK 版本
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
Java HotSpot(TM) Client VM (build 1.5.0-b64, mixed mode, sharing)
POI 版本
poi-bin-3.5-beta4-20081128.zip
测试代码为:
package com.test.poi;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
public class TestReadExcel {
/**
* 读取Excel文件
*/
@SuppressWarnings("deprecation")
public static void main(String[] args) {
//先生成一个POIFSFileSystem
try {
POIFSFileSystem fs=new POIFSFileSystem(new FileInputStream("d:\\file.xls"));
HSSFWorkbook wb=new HSSFWorkbook(fs);
HSSFSheet sheet=wb.getSheetAt(0);
HSSFRow row=sheet.getRow(0);//0行
HSSFCell cell=row.getCell((short)0);//获取单元格子
String msg=cell.getStringCellValue();
System.out.println(msg);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
}
}
}
经过检查Excel文件 file.xls 正确无错误,并且尝试删除该文件后重新建立,一样的报错.
所报异常:
Exception in thread "main" java.lang.RuntimeException: Expected an EXTERNSHEET record but got (org.apache.poi.hssf.record.SSTRecord)
at org.apache.poi.hssf.model.LinkTable.readExtSheetRecord(LinkTable.java:188)
at org.apache.poi.hssf.model.LinkTable.<init>(LinkTable.java:164)
at org.apache.poi.hssf.model.Workbook.createWorkbook(Workbook.java:199)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:277)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:200)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:182)
at com.test.poi.TestReadExcel.main(TestReadExcel.java:22)
请各位高手指教,谢谢大家!