日期:2014-05-20  浏览次数:21008 次

使用poi解析xlsx,很慢吗?
刚接触poi,所以不是很熟。
使用poi解析xlsx代码如下:
@Test
public void xmlTest() {
File file = new File("。。。。/test1.xlsx");
FileInputStream fis;
try {
fis = new FileInputStream(file);
XSSFWorkbook book = new XSSFWorkbook(fis);
XSSFSheet sheet = book.getSheetAt(0);
XSSFRow row = sheet.getRow(0);
XSSFCell cell = row.getCell(1);
System.out.println(cell.getRichStringCellValue());
} catch (Exception e) {
e.printStackTrace();
} finally {
System.out.println("===========================");
}

}
当断点运行到红色字体的时候,程序就一直不动了。也不报错。
原先以为是包冲突什么的,确认不是这个问题。
于是,我又创建了一个新的xlsx文件,只在row:0,cell:1这个位置上面赋值;继续断点调试,发现当运行到红色字体部分花了2-3秒钟,能够得到该位置上面的值。
但是原来的test1.xlsx也不是很大,就一个sheet,里面被编辑的cell也没有超过200个。应该不至于停在那边不动把?
还是有什么其他的原因?请各位大虾指点迷津。

------解决方案--------------------
停在那2,3秒也还好,是正常的。
之前一直停在哪,可能是文件的问题。或者去官网上下载个最新的包试试。http://poi.apache.org/download.html
------解决方案--------------------
是不是本来是excel03版的,只是把后缀名改成xlsx了?
------解决方案--------------------
不会很慢的,我之前写过的读入几千行数据,也很快的