JAVA读取excel表格中的数据,.xlsm文件或者.xlsx文件。
2021/12/23 11:07:17
本文主要是介绍JAVA读取excel表格中的数据,.xlsm文件或者.xlsx文件。,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
首先第一步引入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>
然后编写测试代码:
1.读取文件
@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); }
2.获取文件详细信息:
可以看出我的这个文件有3个sheet
int numberOfSheets = workBook.getNumberOfSheets(); // 获取有几个sheet 遍历 System.out.println(numberOfSheets);
3.选择第几个sheet
Sheet sheetAt = workBook.getSheetAt(0); //获取第1张表 String sheetName = sheetAt.getSheetName(); System.out.println("工作表名称:" + sheetName);
4.获取该表单中的行和列:
int rowsOfSheet = sheetAt.getPhysicalNumberOfRows(); System.out.println("当前表格的总行数:" + rowsOfSheet); Row row = sheetAt.getRow(0);//获取的第几行数据 int cellCount = row.getPhysicalNumberOfCells(); //获取总列数
5.获取每一个单元格内的内容
Row row1 = sheetAt.getRow(1);//获取的第几行数据 String vul_no=row1.getCell(0).toString(); //获取第一行第一列单元格中的数据
6.以上已经完成基本的操作,还有一下细节:
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
这篇关于JAVA读取excel表格中的数据,.xlsm文件或者.xlsx文件。的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?