ExcelUtils所需要的pom依赖如下,该类存在于com.github.crab2died下:
<!-- https://mvnrepository.com/artifact/com.github.crab2died/Excel4J -->
<dependency>
<groupId>com.github.crab2died</groupId>
<artifactId>Excel4J</artifactId>
<version>3.0.0</version>
</dependency>
List<List<String>> readExcel2List(InputStream is, int offsetLine, int limitLine, int sheetIndex)
is:表示Excel文件的输入流
offsetLine:获取数据的偏移量行数,取值从0开始(表示第一行),1表示第二行,依次类推
limitLine:限制行数,表示获取偏移量行数后面的多少行数据,取值为自然数(从0开始)
sheetIndex:表示第几个sheet,取值为正整数
import org.springframework.web.multipart.MultipartFile;
import lombok.extern.slf4j.Slf4j;
import com.github.crab2died.ExcelUtils;
import java.io.InputStream;
import java.util.*;
@RestController
@Slf4j
public class CrawlerUtilController {
/**
* 从Excel文件中获取数据进行业务处理
*/
@PostMapping("/single/import1")
public void import1(MultipartFile excelFile) {
try{
InputStream is = excelFile.getInputStream();
//从文件流is中获取第一个sheet分页第2行到14320行的数据,并将每一行的数据转换为List<String>,最终将所有的行数据存储在List<List<String>>中
List<List<String>> list= ExcelUtils.getInstance().readExcel2List(is,1,14318,1);
for(List<String> stringList:list){
//获取第一列的值
String taxVouNo=stringList.get(0);
//获取第三列的值
String remark=stringList.get(2);
//todo:相关的业务处理
}
}catch (Exception e){
log.error("从Excel文件中获取数据进行业务处理出现异常:",e);
}
}
}
前端在调用该接口时可以以post请求方式,请求体以form-data形式,key为excelFile,value为excel文件,类型为File进行调用