首先第一步引入jar包或者引入依赖。用的是springboot测试环境。所以我引用的依赖:
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency>
然后编写测试代码:
@Test void readXlsx() throws IOException { File file = new File("F:\\SpringBoot2.0\\ybkj_insertValueToDB\\src\\test\\java\\com\\example\\ybkj\\test.xlsx"); FileInputStream fis = null; Workbook workBook = null; fis = new FileInputStream(file); workBook = WorkbookFactory.create(fis); }
可以看出我的这个文件有3个sheet
int numberOfSheets = workBook.getNumberOfSheets(); // 获取有几个sheet 遍历 System.out.println(numberOfSheets);
Sheet sheetAt = workBook.getSheetAt(0); //获取第1张表 String sheetName = sheetAt.getSheetName(); System.out.println("工作表名称:" + sheetName);
int rowsOfSheet = sheetAt.getPhysicalNumberOfRows(); System.out.println("当前表格的总行数:" + rowsOfSheet); Row row = sheetAt.getRow(0);//获取的第几行数据 int cellCount = row.getPhysicalNumberOfCells(); //获取总列数
Row row1 = sheetAt.getRow(1);//获取的第几行数据 String vul_no=row1.getCell(0).toString(); //获取第一行第一列单元格中的数据
Cell cell=row1.getCell(0); double numericCellValue = cell.getNumericCellValue(); //读取数值 Cell cell2=row1.getCell(2); Date dateCellValue = cell2.getDateCellValue(); //获取日期值
可以看到日期已经获取到了,但是格式还需要自己调换一下。
文中的大部分代码我是粘贴的别人的来源:https://blog.csdn.net/tanqingfu1/article/details/105369858