编程语言
首页 > 编程语言> > JAVA读取excel表格中的数据,.xlsm文件或者.xlsx文件。

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,xlsx,getCell,获取,sheetAt,poi,workBook,row1
来源: https://blog.csdn.net/ffhgyguj/article/details/122101242