Java 如何使用google电子表格api获取列名列表?
我正在使用基于列表的提要访问我在谷歌文档中的电子表格。如何获取列名/列标题的列表Java 如何使用google电子表格api获取列名列表?,java,google-api,Java,Google Api,我正在使用基于列表的提要访问我在谷歌文档中的电子表格。如何获取列名/列标题的列表 我自己找到了这个问题的答案,但由于我在StackOverflow或google api的java文档中找不到答案,我认为这将有助于我的解决方案。我假设您知道如何访问工作表,因此您负责编写以下两个函数 SpreadsheetService service = getspreadsheetService(); WorksheetEntry worksheet = getGoogleWorksheet(); 以下是获取
我自己找到了这个问题的答案,但由于我在StackOverflow或google api的java文档中找不到答案,我认为这将有助于我的解决方案。我假设您知道如何访问工作表,因此您负责编写以下两个函数
SpreadsheetService service = getspreadsheetService();
WorksheetEntry worksheet = getGoogleWorksheet();
以下是获取列标题列表的方法:
URL url = worksheet.getListFeedUrl();
ListFeed rows = service.getFeed(url, ListFeed.class);
ListEntry row = rows.getEntries().get(0);
Set<String> columnHeadings = row.getCustomElements().getTags();
URL URL=worksheet.getListFeedUrl();
ListFeed rows=service.getFeed(url,ListFeed.class);
ListEntry row=rows.getEntries().get(0);
Set columnHeadings=row.getCustomElements().getTags();
您可以使用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;
}
这在PHP中是否可行?如果工作表有标题行,但没有数据行,则此操作将不起作用。@VivinValitah我面临此问题,在开始插入数据行之前,我想检查列名是否一致。。。你已经知道怎么做了吗?@heltonbiker\u SL女士的解决方案很接近。我最终不需要它,但我的解决方案非常相似。您可以查看自定义元素上的标记,看看它们是否符合要求。@VivinPalath谢谢您的回答!事实上,我用另一个答案解决了我的问题,正如你所说:)