【问题标题】:How to convert List<Object[]> into List<List<Object>> for GoogleSheet ValueRange如何将 List<Object[]> 转换为 List<List<Object>> for GoogleSheet ValueRange
【发布时间】:2023-03-08 11:25:01
【问题描述】:

我正在尝试从休眠结果集编写报告,它返回结果为 List 为了将此数据发送到 google sheet API,我需要将其转换为 List 我尝试了几种方法,但出现以下错误

“消息”:“无效数据[1]:无效值[1][0]:list_value

以下是我尝试过但没有运气的代码

在这里问可能是一件很愚蠢的事情,但如果可能的话,请任何人帮忙

List<Object> allData = new ArrayList<>();
      List<List<Object>> values = new ArrayList<>();
      for (Object[] obj : reportParameters.getDataSource().getResultSet()){
        allData.add(Arrays.asList(obj));
      }
      values.add(allData);
      ValueRange sheetData = new ValueRange()
          .setValues(values)
          .setRange("A2");
      body.add(sheetData);

【问题讨论】:

  • 您能否发布更多详细信息,例如堆栈跟踪。
  • 尝试将allData.add(Arrays.asList(obj));更改为allData.addAll(Arrays.asList(obj));
  • 我不明白为什么你有两个列表“allData”和“values”。据我所知,您的 impl 中只需要一个
  • 你能提供一个minimal reproducible example吗? reportParameters 来自哪里?你在哪一行得到错误?

标签: java arrays google-sheets google-sheets-api


【解决方案1】:
List<List<Object>> values = reportParameters.getDataSource().getResultSet()
   .stream()
   .map(Arrays::asList)
   .collect(Collectors.toList());

【讨论】:

  • 它工作了谢谢..!虽然我没有面临不同的问题,因为 Google sheet API 似乎不接受 "\n " 旅程仍在继续......
  • 不同的问题 = 进度!
猜你喜欢
  • 1970-01-01
  • 2020-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-27
  • 1970-01-01
  • 2019-02-03
相关资源
最近更新 更多