皓月白熏 2024-06-19 17:40 采纳率: 82.1%
浏览 18
已结题

easyExcel获取动态表头和筛选数据导出的问题

easyExcel获取动态表头和筛选数据导出的问题:

List<Map<String, Object>> filteredExportData = mapToSelectedFields(exportData, headerFieldList);
            List<List<String>> head = matchedAndTranslatedHeaders.stream()
                    .map(header -> Collections.singletonList(header))
                    .collect(Collectors.toList());

            
            // 再次写入到本地文件
            EasyExcel.write(localOutputStream, Map.class)
                    .sheet("导出")
                    .head(head)
                    .doWrite(filteredExportData);

其中filteredExportData的值为: [{"accountId":-890824,"businessName":传媒有限公司"},{"accountId":-890817,"businessName":"越建筑劳务有限公司"},{"accountId":100005291,"businessName":"(上海)有限公司"},{"accountId":2200017167,"businessName":"企业管理咨询有限公司"}]
head为accountId和businessName
请问为啥Excel只是输出了表头,而没有里面的内容。

  • 写回答

2条回答 默认 最新

  • 皓月白熏 2024-06-24 13:25
    关注

    底层源码会强转成index,
    https://img-mid.csdnimg.cn/release/static/image/mid/ask/90b43f246b98475ebff73524b1363e90.png
    在前面我返回的时String,导致找不到。对String重新编号即可解决问题。

    List<Map<Integer, Object>> convertedExportData = new ArrayList<>();
                for (Map<String, Object> originalMap : filteredExportData) {
                    Map<Integer, Object> convertedMap = new HashMap<>();
                    for (int i = 0; i < headerFieldList.size(); i++) {
                        String key = headerFieldList.get(i);
                        if (originalMap.containsKey(key)) {
                            convertedMap.put(i, originalMap.get(key));
                        }
                    }
                    convertedExportData.add(convertedMap);
                }
     
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月2日
  • 已采纳回答 6月24日
  • 创建了问题 6月19日

悬赏问题

  • ¥15 react-diff-viewer组件,如何解决数据量过大卡顿问题
  • ¥20 遥感植被物候指数空间分布图制作
  • ¥15 安装了xlrd库但是import不了…
  • ¥20 Github上传代码没有contribution和activity记录
  • ¥20 SNETCracker
  • ¥15 数学建模大赛交通流量控制
  • ¥15 为什么我安装了open3d但是在调用的时候没有报错但是什么都没有发生呢
  • ¥50 paddleocr最下面一行似乎无法识别
  • ¥15 求某类社交网络数据集
  • ¥15 靶向捕获探针方法/参考文献