使用POI读取EXCEL中的所有Sheet表
最近接触到了多sheet页的导入导出功能,现举例如何 使用POI,通过多个循环读取EXCEL中的所有Sheet表内容。
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>ooxml-schemas</artifactId>
<version>1.4</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>org.apache.poi</groupId>-->
<!-- <artifactId>poi-ooxml-schemas</artifactId>-->
<!-- <version>4.1.2</version>-->
<!-- </dependency>-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>5.2.2</version>
<scope>compile</scope>
</dependency>
//自己编写的类
public static void main(String[] args) {
try {
showExcel();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void showExcel() throws Exception {
XSSFWorkbook workbook=new XSSFWorkbook(new FileInputStream(new File("C:/Users/PQB031/Downloads/project_base_info_import (1).xlsx")));
XSSFSheet sheet=null;
for (int i = 0; i < workbook.getNumberOfSheets(); i++) {//获取每个Sheet表
sheet=workbook.getSheetAt(i);
for (int j = 0; j < 3; j++) {
//获取每行
XSSFRow row=sheet.getRow(j);
for (int k = 0; k <4; k++) {
//到当前页没有此列请结束否则会报错
if (j==2&&k==0&&i==1){
break;
}
//获取每个单元格
System.out.print(row.getCell(k)+"\t("+j+","+k+")\t");
}
System.out.println("---Sheet表"+i+"处理完毕---");
}
}
}
*1.稍加改造可读取指定页,单元格
*2.注意excel.后缀创建对象不同
Workbook wb=new HSSFWorkbook(new FileInputStream(new File("/file/student.xls")));//.xls
Workbook wb=new XSSFWorkbook(new FileInputStream(new File("/file/student.xls")));//.xlsx
*3.Office版本过低使用XSSFWorkbook就能解决报错(.xls和.xlsx都能解决)
org.apache.poi.poifs.filesystem.OfficeXmlFileException: The supplied data appears to be in the Office 2007+ XML. You are calling the part of POI that deals with OLE2 Office Documents. You need to call a different part of POI to process this data (eg XSSF instead of HSSF)
点击连接查看报错处理详情:[(116条消息) 解决excel导入异常:org.apache.poi.poifs.filesystem.OfficeXmlFileException: The supplied data appears to be__修铁路的的博客-CSDN博客_org.apache.poi.poifs.filesystem.officexmlfileexcep](blog.csdn.net/sinat_35626… The supplied data appears to be in the Office 2007%2B XML. You are calling the part of POI that deals with OLE2 Office Documents. You need to call&spm=1018.2226.3001.4187)
Workbook详细教程链接
(116条消息) POI(excel) - WorkBook和Sheet_流烟默的博客-CSDN博客_poi workbook