使用Apache POI
引入坐标
XML<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.16</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.16</version> </dependency>
样例工程
javapackage com.sky.test; import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; public class POITest { /** * 基于POI读取Excel文件 * @throws Exception */ public static void read() throws Exception{ FileInputStream in = new FileInputStream(new File("D:\\itcast.xlsx")); //通过输入流读取指定的Excel文件 XSSFWorkbook excel = new XSSFWorkbook(in); //获取Excel文件的第1个Sheet页 XSSFSheet sheet = excel.getSheetAt(0); //获取Sheet页中的最后一行的行号 int lastRowNum = sheet.getLastRowNum(); for (int i = 0; i <= lastRowNum; i++) { //获取Sheet页中的行 XSSFRow titleRow = sheet.getRow(i); //获取行的第2个单元格 XSSFCell cell1 = titleRow.getCell(1); //获取单元格中的文本内容 String cellValue1 = cell1.getStringCellValue(); //获取行的第3个单元格 XSSFCell cell2 = titleRow.getCell(2); //获取单元格中的文本内容 String cellValue2 = cell2.getStringCellValue(); System.out.println(cellValue1 + " " +cellValue2); } //关闭资源 in.close(); excel.close(); } public static void main(String[] args) throws Exception { read(); } }