JAVA 导入EXCLE,处理时间字段
import com.fengshun.systemBusiness.dao.BloodRecordsDao; import com.fengshun.systemBusiness.entity.BloodRecords; import org.apache.poi.hssf.usermodel.HSSFDateUtil; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.io.InputStream; import java.util.ArrayList; import java.util.Date; import java.util.List; public List<BloodRecords> getList(InputStream fis) throws Exception { List<BloodRecords> list = new ArrayList<>(); Workbook workbook = new HSSFWorkbook(fis); Sheet sheet; //获取sheet数量 int number = workbook.getNumberOfSheets(); for (int i = 0; i < number; i++) { sheet = workbook.getSheetAt(i); if (sheet == null) { continue; } //循环行 for (int j = 1; j < sheet.getLastRowNum(); j++) { Row row = sheet.getRow(j); Cell cell0 = row.getCell(0); Cell cell1 = row.getCell(1); Cell cell2 = row.getCell(2); Cell cell3 = row.getCell(3); Cell cell4 = row.getCell(4); Cell cell5 = row.getCell(5); Date date = HSSFDateUtil.getJavaDate(cell0.getNumericCellValue()); BloodRecords b0 = new BloodRecords(); b0.setPatientId("1503256397"); b0.setVisitId(2L); b0.setCollectDate(date); b0.setBloodValue(Double.valueOf(cell1.toString())); b0.setDynamicBlood(true); BloodRecords b1 = new BloodRecords(); b1.setPatientId("1804142342"); b1.setVisitId(1L); b1.setCollectDate(date); b1.setBloodValue(Double.valueOf(cell2.toString())); b1.setDynamicBlood(true); BloodRecords b2 = new BloodRecords(); b2.setPatientId("1611147489"); b2.setVisitId(2L); b2.setCollectDate(date); b2.setBloodValue(Double.valueOf(cell3.toString())); b2.setDynamicBlood(true); BloodRecords b3 = new BloodRecords(); b3.setPatientId("1805056176"); b3.setVisitId(1L); b3.setCollectDate(date); b3.setBloodValue(Double.valueOf(cell4.toString())); b3.setDynamicBlood(true); BloodRecords b4 = new BloodRecords(); b4.setPatientId("1804302808"); b4.setVisitId(1L); b4.setCollectDate(date); b4.setBloodValue(Double.valueOf(cell5.toString())); b4.setDynamicBlood(true); list.add(b0); list.add(b1); list.add(b2); list.add(b3); list.add(b4); } } fis.close(); return list; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?