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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值