ApachePOI是用Java编写的免费开源的跨平台的JavaAPI,ApachePOI提供API给Java对MicrosoftOffice格式档案读和写的功能。POI为“PoorObfuscationImplementation”的首字母缩写,意为简洁版的模糊实现
前言
用户可以直接读取本地文件,也可以通过上传文件的形式读取excel
注意:poi对于读取到空白行的时候,会默认的认为是最后一行,将不会再读取空白行下面的数据
第一步导入依赖
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
第二步实现测试类+测试
- 创建ReloadExcelTest .java文件
- 此时找到excel的文件路径,写文件全名:路径+文件全名
- 例:String reloadPath=“D:\ExcelTest\test.xlsx”;
- windows路径之间加\\
- 测试
package tech.niua.admin.outputvalue.util.reloadexcel;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import tech.niua.admin.outputvalue.domain.OutputValue;
import java.io.IOException;
public class ReloadExcelTest {
public static void readExcel(String reloadPath) throws IOException {
//1.获取工作簿
XSSFWorkbook workbook = new XSSFWorkbook(reloadPath);
//2.获取工作表
XSSFSheet sheet = workbook.getSheetAt(0);
//获取行
//cell.setCellType(Cell.CELL_TYPE_STRING); //将不同类型的数据类型转为String
int lastRowNum = sheet.getLastRowNum();
for (int i = 1; i <= lastRowNum; i++) {
OutputValue outputValueEntity = OutputValue.builder().build();
Row rowValue = sheet.getRow(i);
//获取每一行中每一个单元格的数据的数据
for (int j = 0; j < 4; j++) {
DataFormatter formatter = new DataFormatter();
String value = formatter.formatCellValue(rowValue.getCell(j));
System.out.print(value+" ");
}
System.out.println();
}
}
}
注意:4.1.2版本的poi已经不在使用cell.setCellType(Cell.CELL_TYPE_STRING);这种对于读取到数据设置为String类型的这种形式,将不再支持
改用为:
DataFormatter formatter = new DataFormatter();
String value = formatter.formatCellValue(rowValue.getCell(j));
此时value就是我们读取到的值,可以做一个相应的转换存储到集合或者对象的形式接收
测试
public static void main(String[] args) throws IOException {
String reloadPath="D:\\ExcelTest\\test.xlsx";
ReloadExcelTest.readExcel(reloadPath);
}
实际应用
我们可以用集合的形式接收,或者以集合对象的形式接收,这样就能够对于读取到的数据做一个操作处理,以便于后面实现批量上传功能。
----->批量上传:前端页面上传excel文件,由系统自动导入excel的数据到数据库:
到此这篇关于Java利用poi读取Excel详解实现的文章就介绍到这了,更多相关Java读取Excel内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:Java利用poi读取Excel详解实现
基础教程推荐
- Java实现线程插队的示例代码 2022-09-03
- ConditionalOnProperty配置swagger不生效问题及解决 2023-01-02
- JDK数组阻塞队列源码深入分析总结 2023-04-18
- Java文件管理操作的知识点整理 2023-05-19
- java基础知识之FileInputStream流的使用 2023-08-11
- java实现多人聊天系统 2023-05-19
- Java实现查找文件和替换文件内容 2023-04-06
- Java并发编程进阶之线程控制篇 2023-03-07
- springboot自定义starter方法及注解实例 2023-03-31
- Java数据结构之对象比较详解 2023-03-07