当前位置: 首页 > wzjs >正文

手机网站建设设计广州seo代理计费

手机网站建设设计,广州seo代理计费,沈阳市城市建设局网站,做网站要什么专业使用EasyExcel动态拆分非固定列Excel表格 在Excel数据解析场景中,​动态列结构拆分是典型挑战(如供应链系统中不同品类的属性字段差异较大)。传统基于POJO映射的方案无法应对列数量不固定的场景。本方案采用EasyExcel的动态模型解析和Map数据…

使用EasyExcel动态拆分非固定列Excel表格

在Excel数据解析场景中,​动态列结构拆分是典型挑战(如供应链系统中不同品类的属性字段差异较大)。传统基于POJO映射的方案无法应对列数量不固定的场景。本方案采用EasyExcel的动态模型解析和Map数据承载技术,实现按指定列(如"部门")拆分时自动保留原始列结构,支持以下特性:

  • 无需预定义Java实体类
  • 自动继承原始表格所有列头
  • 拆分后文件保留完整数据格式

无实体动态读取表格

继承 AnalysisEventListener 创建一个自定义监听器,用于处理 Excel 文件的解析和数据拆分。在监听器中,可以重写 invokeHeadMap 方法来获取表头信息,重写 invoke 方法来处理每一行数据。

@Data
public class CustomExcelListener extends AnalysisEventListener<Map<Integer, String>> {private Map<Integer, String> headerMap; // 表头信息private final Map<String, List<Map<String, String>>> dataMap = new LinkedHashMap<>(); // 拆分后的数据,此处使用LinkedHashMap保持插入顺序private int specifiedColumnIndex = 0;指定某一列拆分表格,可使用列索引/列名@Overridepublic void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {this.headerMap = headMap;// 根据表头初始化 dataMapfor (Map.Entry<Integer, String> entry : headMap.entrySet()) {dataMap.put(entry, new ArrayList<>());}}@Overridepublic void invoke(Map<Integer, String> data, AnalysisContext context) {// 获取指定列的值String specifiedColumnValue = data.get(specifiedColumnIndex);// 如果指定列的值为空,设置一个默认值if (specifiedColumnValue == null) {specifiedColumnValue = "默认分类";}// 将整行数据存储到对应的分类中dataMap.computeIfAbsent(specifiedColumnValue, k -> new ArrayList<>()).add(new HashMap<>(data));}@Overridepublic void doAfterAllAnalysed(AnalysisContext context) {// 可进行数据校验或数据处理// 对于拆分后的数据处理可以在doAfterAllAnalysed()中,也可以通过listener.getDataMap()获取数据后自行处理。}
}

解析 Excel 文件

在解析 Excel 文件时,使用 EasyExcel 的 read 方法,并将自定义的监听器传递进去。

File targetFile = new File("/yourFile/file.xls"); // 读取的文件
int specifiedColumnIndex = 0:// 可传入指定列索引,用以拆分excel表格
CustomExcelListener listener = new CustomExcelListener("可传入指定列索引,用以拆分excel表格");
ExcelReader excelReader = EasyExcel.read(targetFile).sheet(0).registerReadListener(listener ).doRead();
listener.getDataMap();// 可获取拆分后的表数据

通过 specifiedColumnIndex 变量来指定用于拆分表格的列索引。在实际应用中,这个索引值可能需要根据具体情况动态确定。

总结

通过上述方案,可高效应对供应链、电商等场景中非固定列结构的Excel拆分需求,具体性能优化需自行添加。实际应用中建议结合具体业务场景选择拆分策略(如按时间/地区等多列组合拆分)。

http://www.dtcms.com/wzjs/420837.html

相关文章:

  • wordpress 代码编辑器宁波seo智能优化
  • 介绍西安网页设计广州seo学徒
  • 济南高端网站设计策划jmr119色带
  • 电子商务网站建设配色成人就业技术培训机构
  • wordpress acf插件站长工具seo查询
  • 必要商城官网上海优化排名网站
  • aspx网站架设教程软文营销文章范文
  • 如何引用网站图片今日刚刚发生的新闻
  • 旅游网站开发方案求个网站
  • 中山精品网站建设咨询河南省疫情最新情况
  • dede宠物网站模板用手机制作自己的网站
  • 昆山高端网站建设公司百度收录什么意思
  • 宝塔面板做网站优化二十条
  • 滨州做网站优化世界新闻
  • 网站功能价格表湖南seo优化公司
  • 韶关营销网站开发seo整站优化推广
  • 有没有什么做统计的网站网络营销专业毕业论文
  • 广州网站开发平台百度seo简爱
  • 想发布oa网站 需要备案吗系统优化软件排行榜
  • 虹口手机网站制作培训班有哪些
  • 男性产品哪个网站可以做数字营销策划
  • 网站新媒体推广怎么做百度指数查询官网
  • 网站建设规划方案包括seo搜索引擎优化入门
  • ps加dw做网站广州seo网站营销
  • 网站开发主流语言百度搜索排行榜
  • 企业为什么要建网站南京seo圈子
  • 做黑彩网站赚钱吗东莞网站建设平台
  • 做网站专题需要什么软件知识营销案例
  • 大设计师论坛网页设计深圳网站seo推广
  • 西安网站建设公司都有哪些产品推广