ExcelSaveEntity
类替换自己的类
ObjectMapper.save
替换自己的mapper.save
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelParser {
// 假设的实体类,用于表示数据库中的用户记录
static class ExcelSaveEntity {
int id;
String name;
String address;
// 构造函数、getter和setter方法...
}
//excelFilePath,Excel路径
public List<ExcelSaveEntity> parseAndSaveEntities(String excelFilePath) {
List<ExcelSaveEntity> entities = new ArrayList<>();
try (
//用流读取文件
FileInputStream fis = new FileInputStream(new File(excelFilePath));
XSSFWorkbook workbook = new XSSFWorkbook(fis)) {
Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
// 假设ID在A列,姓名在B列,住址在C列
for (Row row : sheet) {
if (row.getRowNum() == 0) {
// 跳过标题行
continue;
}
ExcelSaveEntity entity = new ExcelSaveEntity();
// 获取单元格值
Cell idCell = row.getCell(0);
Cell nameCell = row.getCell(1);
Cell addressCell = row.getCell(2);
// 将单元格值转换并赋值给实体属性
entity.id = (int) idCell.getNumericCellValue(); // 假设ID是数字类型
entity.name = idCell.getStringCellValue(); // 姓名是字符串类型
entity.address = addressCell.getStringCellValue(); // 地址也是字符串类型
// 将实体添加到列表中,代表已准备存入数据库
entities.add(entity);
// 模拟保存到数据库的操作
ObjectMapper.save(entity); // 实际情况下你需要替换为实际数据库操作
}
} catch (IOException e) {
e.printStackTrace();
}
// 返回准备保存到数据库的实体列表,不需要自行删除即可
return entities;
}
}