3

リスト ベースのフィードを使用して、Google ドキュメントのスプレッドシートにアクセスしています。列名/列ヘッダーのリストを取得するにはどうすればよいですか?

私はこれに対する答えを自分で見つけましたが、StackOverflowまたはGoogle APIのJavaドキュメントで答えを見つけることができなかったので、私の解決策に貢献すると思いました.

4

2 に答える 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 に答える