首页 > 其他分享 >EasyPoi导出包含动态列的Excel

EasyPoi导出包含动态列的Excel

时间:2024-03-15 21:56:21浏览次数:16  
标签:colList 导出 Excel add ExcelExportEntity new put EasyPoi List

@Test
        public void dynaCol() {
        try {
            List<ExcelExportEntity> colList = new ArrayList<ExcelExportEntity>();
            ExcelExportEntity colEntity = new ExcelExportEntity("商品名称", "title");
            colEntity.setNeedMerge(true);
            colList.add(colEntity);
 
            colEntity = new ExcelExportEntity("供应商", "supplier");
            colEntity.setNeedMerge(true);
            colList.add(colEntity);
 
            ExcelExportEntity deliColGroup = new ExcelExportEntity("得力", "deli");
            List<ExcelExportEntity> deliColList = new ArrayList<ExcelExportEntity>();
            deliColList.add(new ExcelExportEntity("市场价", "orgPrice"));
            deliColList.add(new ExcelExportEntity("专区价", "salePrice"));
            deliColGroup.setList(deliColList);
            colList.add(deliColGroup);
 
            ExcelExportEntity jdColGroup = new ExcelExportEntity("京东", "jd");
            List<ExcelExportEntity> jdColList = new ArrayList<ExcelExportEntity>();
            jdColList.add(new ExcelExportEntity("市场价", "orgPrice"));
            jdColList.add(new ExcelExportEntity("专区价", "salePrice"));
            jdColGroup.setList(jdColList);
            colList.add(jdColGroup);
 
 
            List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
            for (int i = 0; i < 10; i++) {
                Map<String, Object> valMap = new HashMap<String, Object>();
                valMap.put("title", "名称." + i);
                valMap.put("supplier", "供应商." + i);
 
                List<Map<String, Object>> deliDetailList = new ArrayList<Map<String, Object>>();
                for (int j = 0; j < 3; j++) {
                    Map<String, Object> deliValMap = new HashMap<String, Object>();
                    deliValMap.put("orgPrice", "得力.市场价." + j);
                    deliValMap.put("salePrice", "得力.专区价." + j);
                    deliDetailList.add(deliValMap);
                }
                valMap.put("deli", deliDetailList);
 
                List<Map<String, Object>> jdDetailList = new ArrayList<Map<String, Object>>();
                for (int j = 0; j < 2; j++) {
                    Map<String, Object> jdValMap = new HashMap<String, Object>();
                    jdValMap.put("orgPrice", "京东.市场价." + j);
                    jdValMap.put("salePrice", "京东.专区价." + j);
                    jdDetailList.add(jdValMap);
                }
                valMap.put("jd", jdDetailList);
 
                list.add(valMap);
            }
 
            Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("价格分析表", "数据"), colList,
                    list);
            FileOutputStream fos = new FileOutputStream("D:/价格分析表.tt.xls");
            workbook.write(fos);
            fos.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

  

标签:colList,导出,Excel,add,ExcelExportEntity,new,put,EasyPoi,List
From: https://www.cnblogs.com/charmer21/p/18076313

相关文章

  • dmfldr快速导出
    环境:Os:Centos7DB:V8 1.准备控制文件OPTIONS(ROWS=100000INDEX_OPTION=2)loadinfile'/tmp/tb_test.txt'strX'0A'REPLACEintotable"hxl"."tb_test"fields'|'("id","name") 执行导出......
  • 关于easyExcel导出文字合并居中和服务器导出失败踩了一天的坑
    参考:https://blog.csdn.net/hanyi_/article/details/118117484,https://blog.csdn.net/sunyuhua_keyboard/article/details/125482353,https://lhalcyon.com/alpine-font-issue/,https://github.com/alibaba/easyexcel/issues/1476(没字体) 首先吧,因为每周列会需要看用户使用情况报......
  • django实现将后台数据excel文件形式导出
    视图函数export_persons引入导出excle相关库importxlwtdefexport_persons(request):#获取数据库中的所有Project对象persons=m1.Project.objects.all()#创建Excel文件book=xlwt.Workbook(encoding='utf-8',style_compression=0)sheet=book.add_sheet('Sheet',......
  • 如何快速删除excel中多行中的空行
    作为一个Excel专家,处理数据时经常需要删除空行。以下是一些快速删除多行中空行的方法:方法一:使用筛选功能选中数据区域:首先,使用鼠标或键盘快捷键选中包含空行的多行数据区域。应用筛选:在Excel的“数据”标签页中,点击“筛选”按钮。此时,数据区域的每个列标题旁都会出现一个小......
  • vue3 批量导入excel表
    安装xlxs插件npminstallxlsx//安装import*asXLSXfrom"xlsx";//引入 批量导入里面引用了element-plus的loading和弹窗,不需要的可以去掉letexcelloading;constimportExcel=(e)=>{//导入excelvarfile=e.target.files[0];if(......
  • Kibana导出查询结果
    查询Exchange服务器上的安全事件日志,通过攻击源客户端计算机名称,获取攻击源IP  Visualize-新建-Datatable-索引定义好过滤条件后,根据访问源IP进行分组,并统计访问次数,然后导出结果 定义好过滤条件后,导出被爆破的用户名,并统计次数,然后导出结果 通过直方图统计......
  • python项目开发——总结笔记(csv excel读取 服务端端口进程 拟合预测 时间格式转化 服
    目录部署服务端程序主服务端控制程序main.py子目录的计算程序jisuan.py读取数据读取csv数据读取读取excel时间格式转换时间戳转datetime并且生成时间序列最后格式化时间 常用函数拟合预测服务端程序控制与维护部署服务端程序主服务端控制程序main.pyfromfl......
  • 【PG】ora2pg 分别导出表,索引,存储过程等
    #!/bin/bash#检查ora2pg命令是否可用command-vora2pg>/dev/null2>&1||{echo>&2"ora2pg工具未安装或未在PATH中。请先安装并配置好ora2pg工具。";exit1;}#配置文件路径ora2pg_conf="/path/to/ora2pg.conf"#导出表结构和数据echo"导出表结构和数据..."......
  • 使用EasyExcel读取Excel文件遇到的小问题
    没有读取到内容的问题excel内容具体代码importcom.alibaba.excel.EasyExcel;importcom.alibaba.excel.annotation.ExcelProperty;importjava.io.File;importjava.util.List;publicclassTestEasyExcel{publicstaticvoidmain(String[]args){Lis......
  • 【SpringBoot】自定义工具类实现Excel数据新建表存入MySQL数据库
    ......