首页 > 其他分享 >将多个实体类集合写入同一个 Excel 文件的不同 Sheet 页

将多个实体类集合写入同一个 Excel 文件的不同 Sheet 页

时间:2024-07-28 21:30:33浏览次数:6  
标签:实体类 Sheet excel Excel param import

import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.support.ExcelTypeEnum;
import com.alibaba.excel.write.metadata.WriteSheet;
import lombok.extern.slf4j.Slf4j;

import java.util.List;
import java.util.Map;

@Slf4j
public class ExcelUtil {
    /**
     * 将多个实体类集合写入同一个 Excel 文件的不同 Sheet 页
     *
     * @param dataMap        实体类集合映射,键为 Sheet 索引,值为对应的实体类集合
     * @param outputFilePath 输出 Excel 文件路径
     * @param excelName      Excel 文件名
     * @param sheetNames     Sheet 名称映射,键为 Sheet 索引,值为对应的 Sheet 名称
     */
    public static void writeDataToExcel(Map<Integer, List<?>> dataMap, String outputFilePath, String excelName, Map<Integer, String> sheetNames) {
        try (ExcelWriter excelWriter = EasyExcel.write(outputFilePath + "\\" + excelName).excelType(ExcelTypeEnum.XLSX).build()) {
            for (Map.Entry<Integer, List<?>> entry : dataMap.entrySet()) {
                int sheetIndex = entry.getKey();
                List<?> data = entry.getValue();
                String sheetName = sheetNames.get(sheetIndex);
                WriteSheet writeSheet = EasyExcel.writerSheet(sheetIndex, sheetName).head(data.get(0).getClass()).build();
                BatchUtil.execute(data, 1000, batchData -> excelWriter.write(batchData, writeSheet));
            }
        } catch (Exception e) {
            log.error("writeDataToExcel error: ", e);
        }
    }
}

标签:实体类,Sheet,excel,Excel,param,import
From: https://www.cnblogs.com/yifan1028/p/18328892

相关文章

  • 如何使用 Pandas 解析函数处理 Excel 中的合并单元格?
    我有一个包含合并的列和行的Excel文件,我想读取该Excel文件并解析它以将其转换为DataFrame。这只是所发生情况的一个小示例,因为我拥有的真实数据非常多很大,有很多桌子。这就是Excel文件的样子:当我尝试时xl=pd.read_excel('file')我得到了这个:......
  • 如何向 python pandas 数据透视表添加过滤器? (pd.read_excel)
    我正在尝试使用pandas库在python中重新创建我在Excel中制作的数据透视表。我试图用时间段作为过滤器来总结超过500k行的OD总行程数据。在Excel上,我只会执行行(O)、列(D)、值(行程)、过滤器(时间)。到目前为止,在python上我只有索引、列、值、aggfunc,但我不知道如何过滤。有......
  • 使用Excel画出各类统计图(3)
    本章会介绍如何画出箱线图目录一、箱线图1.箱线图的作用2.箱线图的绘制与调整(1)画出箱线图(2)调整箱线图一、箱线图箱线图用于反映一组或多组连续型定量数据分布的中心位置和散布范围。箱线图上需要体现出数据的某些特性,因此需要计算上四分位数、中位数、下四分位数以及均值;箱子......
  • 太强了,Python+Excel真的是神仙组合!
    本书是由流行开源Python库xlwings的创始人:费利克斯·朱姆斯坦(FelixZumstein)所撰写。他详细阐述了如何将Python与Excel结合使用,让任务自动化,从而实现效率飞跃。为了帮助初学者克服对Python的恐惧,作者特意将教程内容设计成从简单到复杂的顺序进行介绍。这本书PDF共282页,分为4个......
  • 《梦醒蝶飞:释放Excel函数与公式的力量》23.1 学生主导的项目案例
     第23章:学生项目展示 23.1学生主导的项目案例在《梦醒蝶飞:释放Excel函数与公式的力量》中,第23章将展示学生主导的项目案例。这些案例展示了学生如何运用所学的Excel函数与公式,解决实际问题,展示他们的创造力和分析能力。案例1:学校活动管理系统背景:某学校希望建立一个活动......
  • 《梦醒蝶飞:释放Excel函数与公式的力量》23.2 项目评估与反馈
     第23章:学生项目展示 23.2项目评估与反馈在学生项目展示中,项目评估与反馈是至关重要的一环。通过评估和反馈,可以识别项目中的优点和不足,帮助学生不断改进和提升。以下是项目评估与反馈的详细步骤和示例。项目评估的关键要素1.目标达成情况2.项目计划与执行3.数据准......
  • 《梦醒蝶飞:释放Excel函数与公式的力量》21.2 问题解决策略
     第21章:综合案例分析 21.2问题解决策略在综合案例分析中,解决问题的策略涉及多个步骤,从问题的识别、分析到实施解决方案和评估效果。通过系统的方法和多学科的知识,可以高效地解决复杂的问题。以下将介绍一个具体案例,并通过详细的步骤展示如何制定和实施问题解决策略。案例......
  • Java使用xlsx-streamer和EasyExcel解决读取超大excel文件数据处理方法
    前言最近有个项目在生产环境做数据导入时,发现开始执行导入任务会出现cpu狂飙的情况。几番定位查找发现是在读取excel的时候导致此问题的发生,因此在通常使用的为POI的普通读取,在遇到大数据量excel,50MB大小或数五十万行的级别的数据容易导致读取时内存溢出或者cpu飙升。需要注意,本......
  • 在python3.8虚拟环境 执行pip 安装Excel的库
    1、在开始菜单打开Anacondaprompt(anaconda3) 2、查看环境列表 3、进入虚拟环境 4、在虚拟换进下使用清华源安装读取excel的库和写入excel的库读取Excel文件的库:pipinstallxlrd-ihttps://pypi.tuna.tsinghua.edu.cn/simple 写入Excel文件的库:pipinstallxlwt......
  • Excel的“只读方式”有什么方法可以变为可直接编辑吗?
    在日常工作中,我们经常遇到Excel文件被设置为“只读方式”的情况,这可能是由于文件权限设置、文件共享需要或文件被下载时自动设置为只读等多种原因造成的。然而,当需要修改或编辑这些文件时,我们就需要将其从“只读方式”转换为可编辑状态。以下是一些具体的方法,帮助您轻松实现这......