导入操作,仅供参考,具体情况具体而论

  @Override
public ReturnObject inforImport(LogySbjsJdsbqxxxParts entity, HttpServletRequest req, MultipartFile file)
throws IOException {
ReturnObject returnObject = new ReturnObject();
List<LogySbjsJdsbqxxxAccount> lsjList = new ArrayList<LogySbjsJdsbqxxxAccount>();
JwtUserObject jwtUserObject = JwtUtil.getJwtUserObj(req.getHeader("Authorization"));
// 创建一个excel文件
HSSFWorkbook workbook = null;
workbook = new HSSFWorkbook(file.getInputStream()); // 获取文件
HSSFSheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
int lastRowNum = sheet.getLastRowNum();
// 获取数据
for (int i = 2; i <= lastRowNum; i++) {
HSSFRow row = sheet.getRow(i);
if (row != null) {
List<String> liststr = new ArrayList<>();
String value = null;
for (Cell cell : row) {
if (cell != null && cell.getCellType() != CellType.BLANK) {
cell.setCellType(CellType.STRING);
value = cell.getStringCellValue(); // 读取数据
liststr.add(value);
} else {
value = "";
liststr.add(value);
}
}
if (liststr.size() > 0) {
lsjList = extracted(entity, lsjList, jwtUserObject, i, liststr);
}
}
}
logySbjsJdsbqxxxAccountDao.saveAll(lsjList);
returnObject.setRemsg("上传成功");
return returnObject;
}
	/**
* 构造数据 @Title: extracted @Description: TODO(这里用一句话描述这个方法的作用) @param: @param
* entity @param: @param lsjList 定义一个List @param: @param
* jwtUserObject @param: @param i 行号 @param: @param liststr 解析出来的一行数据 @return:
* void @throws
*/
private List<LogySbjsJdsbqxxxAccount> extracted(LogySbjsJdsbqxxxParts entity, List<LogySbjsJdsbqxxxAccount> lsjList,
JwtUserObject jwtUserObject, int i, List<String> liststr) { entity.setITEMCODE(jwtUserObject.getITEMCODE());
entity.setQxxxModeId(entity.getQxxxModeId());
Example<LogySbjsJdsbqxxxParts> example = Example.of(entity);
// 查询所有并组装
List<LogySbjsJdsbqxxxParts> list = logySbjsJdsbqxxxPartsDao.findAll(example);
// 排序输出
List<LogySbjsJdsbqxxxParts> collectList = list.stream()
.sorted(Comparator.comparing(LogySbjsJdsbqxxxParts::getPartsCode)
.thenComparing(LogySbjsJdsbqxxxParts::getSort)).collect(Collectors.toList());
for (int j = 0; j < liststr.size(); j++) {
String id = UUID.randomUUID().toString().replaceAll("-", ""); // id
String str = liststr.get(j);
if(collectList.get(j).getPartsName().contains("日期")) { //处理日期为数字
Calendar calendar = new GregorianCalendar(1900, 0, -1);
Date d = calendar.getTime();
Date datastr = DateUtils.addDays(d, Integer.valueOf(str));
SimpleDateFormat dataformatter = new SimpleDateFormat( "yyyy-MM-dd");
str = dataformatter.format(datastr);
}
LogySbjsJdsbqxxxAccount lsj = new LogySbjsJdsbqxxxAccount(id, entity.getITEMCODE(),
jwtUserObject.getItemName(), entity.getQxxxModeId(), collectList.get(j).getQxxxPartsId(),
collectList.get(j).getPartsCode(), collectList.get(j).getPartsName(), str, new Date(),
jwtUserObject.getUSERID(), jwtUserObject.getUSERNAME(), 0, i - 1);
// 添加到集合中
lsjList.add(lsj);
}
return lsjList; }

Excel导入操作,poi的更多相关文章

  1. 关于Excel导入导出POI工具类

    import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import ...

  2. .Net Core Excel导入导出神器Npoi.Mapper

    前言 我们在日常开发中对Excel的操作可能会比较频繁,好多功能都会涉及到Excel的操作.在.Net Core中大家可能使用Npoi比较多,这款软件功能也十分强大,而且接近原始编程.但是直接使用Np ...

  3. POI操作Excel导入和导出

    Apache的POI组件是Java操作Microsoft Office办公套件的强大API,当中对Word,Excel和PowperPoint都有支持,当然使用较多的还是Excel.由于Word和Po ...

  4. NPOI操作Excel导入DataTable中

    using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using System.Data; using System.IO; using NPOI.X ...

  5. java导入导出excel常用操作小结及简单示例

    POI中常用设置EXCEL的操作小结: 操作excel如下 HSSFWorkbook wb = new HSSFWorkbook();  //创建一个webbook,对应一个Excel文件 HSSFS ...

  6. 一个基于POI的通用excel导入导出工具类的简单实现及使用方法

    前言: 最近PM来了一个需求,简单来说就是在录入数据时一条一条插入到系统显得非常麻烦,让我实现一个直接通过excel导入的方法一次性录入所有数据.网上关于excel导入导出的例子很多,但大多相互借鉴. ...

  7. JAVA-----基于POI实现对Excel导入

    在日常项目开发中, 数据录入和导出是十分普遍的需求,因此,导入导出也成为了开发中一个经典的功能.数据导出的格式一般是excel或者pdf,而批量导入的信息一般是借助excel来减轻工作量,提高效率. ...

  8. poi excel导入导出

    pom <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artif ...

  9. SpringBoot图文教程9—SpringBoot 导入导出 Excel 「Apache Poi」

    有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+ ...

  10. 基于 POI 封装 ExcelUtil 精简的 Excel 导入导出

    注 本文是使用 org.apache.poi 进行一次简单的封装,适用于大部分 excel 导入导出功能.过程中可能会用到反射,如若有对于性能有极致强迫症的同学,看看就好. 序 由于 poi 本身只是 ...

随机推荐

  1. 十. Redis 事务和 “锁机制”——> 并发秒杀处理的详细说明

    十. Redis 事务和 "锁机制"--> 并发秒杀处理的详细说明 @ 目录 十. Redis 事务和 "锁机制"--> 并发秒杀处理的详细说明 1 ...

  2. oracle开启了审计功能,导致sysaux表空间满的问题

    查询是否开启审计功能 SQL> show parameter audit 如下图所示: AUDIT_TRAIL参数用于指定数据库审计跟踪信息的记录方式.它接受三个可能的参数:NONE,DB,OS ...

  3. Java8 stream 提取对象 List 中的某一字段生成新的 List

    //输出List StudentInfo.printStudents(studentList); //从对象列表中提取一列(以name为例) List<String> nameList = ...

  4. jQuery validate验证表单隐藏域

    function validInfoForm(){        return $("#form_password").validate({            ignore : ...

  5. 还在手动更改SpringBoot的环境yml配置文件?老鸟带你可视化配置

    问题说明: 在SpringBoot开发时.SpringBoot的特性:'约定大于配置',我们只需要在**application.yml **配置当前的环境变量属与那个文件 比如测试环境 'applic ...

  6. mybatis - [11] ResultMap结果集映射

    题记部分 用于处理数据库中的字段名和Java实体类中的属性名不一致的问题 数据库中的字段为id,name,pwd.Java实体类属性为id,name,password. 在映射文件中select标签使 ...

  7. 纯离线部署本地知识库LLM大模型

    纯离线部署本地知识库LLM大模型 一.下载离线大模型 下载的网址:https://hf-mirror.com/ deepseek qwen 相关的模型,只建议使用1.5B的,GGUF后缀的模型 推荐下 ...

  8. 【刚度矩阵推导】2d frame 单元

    2d frame 单元是x-y平面上的单元,每个节点上有2个平移自由度的和一个转动自由度.局部坐标系下,单元位移向量为: \( u=[ u_1 ,u_2 ,u_3, u_4, u_5, u_6]^{T ...

  9. 【MathType】word2016数学公式编号

    问题 毕业论文排版中,对数学公式需要类似(3-1)的格式. 解决技巧 在写论文初稿的时候,先不要于公式的编号,先给它编一个号,比如(3) (2) (4)的. 最后写完了以后,再再添加section , ...

  10. 【ABAQUS模态动力学】Composite&abaqus 预应力模态分析&输出单元刚度矩阵

    参考 连接器振动脱落_abaqus重启动分析_显式隐式切换_插拔力预应力模态_TeeSim天深科技 Abaqus预应力模态分析 附Abaqus 分析用户手册材料卷下载- 技术邻 Natural fre ...