package com.genegle2c.consumer.controller;
import com.genegle2c.api.model.UmsVaccines;
import com.genegle2c.provider.mapper.UmsStinkRecordMapper;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.util.ResourceUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
@RestController
public class PoiExcelUpLoadController {
@Resource
private UmsStinkRecordMapper umsStinkRecordMapper;
@GetMapping(value = "/impPriceRecord")
public void testReadList() throws Exception {
List<UmsVaccines> list = new ArrayList<UmsVaccines>();
//这里用的绝对路径
XSSFWorkbook book = new XSSFWorkbook (new FileInputStream(ResourceUtils.getFile("C:\\Users\\admin\\Desktop\\genegle2c\\genegle2c-consumer\\src\\main\\resources\\12.xlsx")));
//获取第一页表
XSSFSheet sheet = book.getSheetAt(0);
//进行遍历 条件为最后一行数据
for (int i = 1; i < sheet.getLastRowNum() + 1; i++) {
XSSFRow row = sheet.getRow(i);
String vaccinesStartTime = row.getCell(0).getStringCellValue();
//由于表中的第二列数据我不需要 这里就没有读取
int vaccinesType = Integer.parseInt(row.getCell(2).getRawValue());
String vaccinesName = row.getCell(3).getStringCellValue();
String vaccinesTimeLimit = row.getCell(4).getStringCellValue();
String vaccinesCareful = row.getCell(5).getStringCellValue();
String vaccinesEndTime = row.getCell(6).getStringCellValue();
String vaccinesBodyLimit = row.getCell(7).getStringCellValue();
String vaccinesFunction = row.getCell(8).getStringCellValue();
//存储进list
list.add(new UmsVaccines(vaccinesName, vaccinesStartTime, vaccinesEndTime, vaccinesTimeLimit, vaccinesCareful, vaccinesBodyLimit, vaccinesFunction, vaccinesType));
}
for (UmsVaccines cells : list) {
umsStinkRecordMapper.setData(cells);
}
System.out.println("共有 " + list.size() + " 条数据:");
}
}
这是表格数据