我怎么能得到列名称的列表使用谷歌电子表格api



我使用基于列表的提要来访问我在google docs中的电子表格。我如何获得列名/columnHeaders的列表?

我自己找到了答案,但是因为我在StackOverflow上找不到答案,或者在google api的java文档中,我想我会贡献我的解决方案。

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

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();

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

但是,您需要去掉所有非字母数字、小数或破折号的字符,并且还需要去掉任何前导数字,这可以通过regex和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;
    }

相关内容

  • 没有找到相关文章

最新更新