刚接触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个。应该不至于停在那边不动把?
还是有什么其他的原因?请各位大虾指点迷津。
使用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个。应该不至于停在那边不动把?
还是有什么其他的原因?请各位大虾指点迷津。
之前一直停在哪,可能是文件的问题。或者去官网上下载个最新的包试试。http://poi.apache.org/download.html
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.7</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.7</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>3.7</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>3.7</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-examples</artifactId>
<version>3.7</version>
</dependency>
<dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.7</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.7</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>3.7</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>3.7</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-examples</artifactId>
<version>3.7</version>
</dependency>
<dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
<version>2.3.0</version>
</dependency>
File file = new File("d://test1.xlsx");
第二,excel是不是07及以上的。XSSFWorkbook book = new XSSFWorkbook(fis);
XSSFSheet sheet = book.getSheetAt(0);改成下面这样,看是什么情况。Workbook book = new XSSFWorkbook(fis);
XSSFSheet sheet = (XSSFSheet) book.getSheetAt(0);需要引进包
import org.apache.poi.ss.usermodel.Workbook;第三,文件是不是有问题,再新建一个excle,把原来的内容复制进新的excle 再试试。