Google表格API:在数据透视表中单击时无法加载文件

时间:2019-02-26 05:34:50

标签: google-sheets-api

这是一个将数据透视表追加到Google工作表的函数。并创建一个数据透视表,如下所示: enter image description here

public void appendPivotTableTemplate(String  spreadsheetId,int sheetid , String title) throws Exception{
        List<Request> sheetsRequests = new ArrayList<>();
        List<RowData> rdata = new ArrayList<>();
        List<CellData> cdata = new ArrayList<>();
        List<PivotGroup> pgroup_row = new ArrayList<>();
        List<PivotGroup> pgroup_col = new ArrayList<>();
        Map<String, PivotFilterCriteria> colcriteria = new HashMap<>();
        List<String> colval = Arrays.asList("Completed in Time", "Completed after Time", "Not completed");

        List<PivotValue> pvalue = new ArrayList<>();

        colcriteria.put("5",new PivotFilterCriteria().setVisibleValues(colval)); // 5 is the column offset for the Status( (26,5) in Grid Offset)

        pgroup_row.add(new PivotGroup()
                .setSourceColumnOffset(2) // for week
                .setShowTotals(false)
                .setSortOrder("DESCENDING")

        );

        pgroup_col.add(new PivotGroup()
                .setSourceColumnOffset(5) // for status
                .setShowTotals(false)
                .setSortOrder("ASCENDING"));

        pvalue.add(new PivotValue().setSourceColumnOffset(5).setSummarizeFunction("COUNTA").setName("Count of Task")); // https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/pivot-tables#PivotValueSummarizeFunction

        cdata.add(new CellData().setPivotTable(new
                PivotTable()
                .setSource(new GridRange()
                    .setSheetId(sheetid)
                    .setStartRowIndex(24)
                    .setStartColumnIndex(0)
                    .setEndColumnIndex(6))
                .setRows(pgroup_row)
                .setColumns(pgroup_col)
                .setValues(pvalue)
                .setCriteria(colcriteria)


        ));

数据透视表在源数据所在的同一工作表中创建。问题是,每当我单击数据透视表中的任何单元格时,它就会弹出无法加载文件的状态,并要求随时刷新页面。

这是Google Sheet API的问题吗?还是我在这里想念什么?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。那将设置setEndRowIndex。

.setSheetId(sheetid)
.setStartRowIndex(24)
.setEndRowIndex(1000) // or the limit to your rowIndex
.setStartColumnIndex(0)
.setEndColumnIndex(6))