Java poi 解析 Excel 内容
pom.xml 导入 poi.jar 包 或者直接在项目中添加以下jar包
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.9</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.9</version>
</dependency>
java代码
package com.xu.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class Excel {
public static void main(String[] args) {
readExcel("C:\\Users\\Administrator\\Desktop\\1.xlsx");
}
/**
* 读取 Excel 文件内容(*.xlsx、*.xls)
* @Title: openWorkbook
* @Description: 读取 Excel 文件内容(*.xlsx、*.xls)
* @param filepath 文件路径
* @date 2019年6月6日18:17:47
* @return void
*/
public static void readExcel(String filepath) throws IOException {
Workbook workbook =openWorkbook(filepath);
if(workbook==null) {
return;
}
int totalsheet=workbook.getNumberOfSheets();//获取 Excel 文件中的全部 Sheet 页数量
Sheet sheet=null;
for (int i = 0; i < totalsheet; i++) {// 循环 Excel 文件中的全部 Sheet 页
sheet=workbook.getSheetAt(i);// 获取 Sheet 页对象
for (int j = 0; j < sheet.getLastRowNum(); j++) {// 循环 Excel 行
for (int j2 = 0; j2 < sheet.getRow(j).getPhysicalNumberOfCells(); j2++) {// 循环 Excel 列
System.out.print(sheet.getRow(j).getCell(j2)+"\t");// 获取单元格的内容
}
System.out.println();
}
System.out.println();
}
}
/**
* 获取 Excel 文件对象(*.xlsx、*.xls)
* @Title: openWorkbook
* @Description: 获取 Excel 文件对象(*.xlsx、*.xls)
* @param filepath 文件路径
* @date 2019年6月6日18:17:47
* @return Workbook
*/
private static Workbook openWorkbook(String filepath)throws IOException {
Workbook wb = null;
File file=new File(filepath);
if (file.exists()) {
FileInputStream stream=new FileInputStream(file);
if (filepath.endsWith(".xlsx") || filepath.endsWith(".XLSX")) {
wb = new XSSFWorkbook(stream);//Excel 2007
} else {
wb = (Workbook) new HSSFWorkbook(stream);//Excel 2003
}
stream.close();
}
return wb;
}
}