3

我正在使用基于列表的提要来访问我在谷歌文档中的电子表格。如何获取列名/ columnHeaders 的列表?

我自己想出了这个问题的答案,但由于我在 StackOverflow 上或在谷歌 api 的 java 文档中找不到答案,我想会贡献我的解决方案。

4

2 回答 2

2

我假设您首先知道如何访问工作表,因此您负责编写以下两个函数。

SpreadsheetService service = getspreadsheetService();
WorksheetEntry worksheet = getGoogleWorksheet();

以下是获取 columnHeaders 列表的方法:

URL url = worksheet.getListFeedUrl();
ListFeed rows = service.getFeed(url, ListFeed.class);
ListEntry row = rows.getEntries().get(0);
Set<String> columnHeadings = row.getCustomElements().getTags();
于 2013-05-23T21:00:13.507 回答
0

您可以使用 CellFeed 并遍历行值为 1 的所有单元格。

但是,您需要删除所有不是字母数字、小数或破折号的字符,还需要删除任何前导数字,这可以通过正则表达式和String.replaceAll()方法来完成。

URL cellFeedUrl = worksheet.getCellFeedUrl();
CellFeed cellFeed = service.getFeed(cellFeedUrl, CellFeed.class);
String[] columnNames = new String[worksheet.getColCount()];
for (CellEntry entry : cellFeed.getEntries())
    if (entry.cell.getRow() == 1)
    {
        String val = entry.cell.getValue().toLowerCase();
        String parsed = val.replaceAll('^[0-9]*|[^a-z0-9\-\.]', '');
        columnNames[entry.cell.getCol()] = parsed;
    }
于 2014-11-13T16:18:33.943 回答