Java。从电子表格对象(列表列表)中获取价值

时间:2020-08-27 07:51:37

标签: java json google-sheets

我正在使用CellData获取电子表格对象

        var request = service.spreadsheets().get(spreadsheetId);
        request.set("fields", "sheets/data/rowData/values/note");
        request.setRanges(ranges);
        var spreadsheet = request.execute();
        var resultString = spreadsheet.toString();

返回的对象如下:

Debug console

我只需要从中获得 note 的值即可。

toString()方法返回

{"sheets":[{"data":[{"rowData":[{"values":[{"note":"test note"}]}]}]}]}

我显然可以通过搜索该字符串来获取价值,但是正确的方法是什么?

1 个答案:

答案 0 :(得分:1)

对此API调用的响应是Spreadsheet resource,它在Java库中由Class Spreadsheet管理。

Spreadsheet类具有getSheets()方法,该方法返回Sheets的列表。由于只有一张工作表,因此请获取电子表格中的第一个元素(第一张工作表),然后使用相应的方法来获取工作表的GridData

RowDataCellData重复相同的过程,直到通过getNote()到达note

代码示例:

Spreadsheet spreadsheet = request.execute();
Sheet sheet = spreadsheet.getSheets().get(0);
GridData data = sheet.getData().get(0);
RowData rowData = data.getRowData().get(0);
CellData cellData = rowData.getValues().get(0);
String note = cellData.getNote();

注意:

  • 根据您提供的信息,我假设每个列表中只有一个元素(也就是说,您只想在单个工作表中检索单个单元格)。如果不是这种情况,则应遍历相应的列表,而不要访问其第一个元素。
  • 不要忘记为所有这些类导入模块。