2

Google スプレッドシート API を使用して、従業員のシフトを含むドキュメントをイベント カレンダーに変換しています。唯一の問題は、シフトが日と時間に応じて結合されたセル (行として日と時間を、列として異なる作業スロット) で表され、結合されて 6 つのセルにまたがる特定のセルを読み取ると、できないことです。セルの特定の幅またはその結合領域を取得します。

例えば: 忙しい猫

(4C:4E) の間の値を取得しようとすると、「bob,bob,bob」ではなく「Bob, , ,」が返され、「bob」が何個のセルを使用するかを知る方法さえ見つかりません。

結合した細胞が何個の細胞に広がったかを知る方法を知っていますか? または、少なくとも全幅です。

前もって感謝します!

4

2 に答える 2

1

Google ドライブから HTML としてダウンロードします。参照: Google スプレッドシートから Appengine に FontStyle 情報を取得する

    Drive driveService = new Drive.Builder(TRANSPORT, JSON_FACTORY, credential).build();
    File file = driveService.files().get(this.spreadsheetKey).execute();
    String downloadUrl = file.getExportLinks().get("application/pdf");
    downloadUrl = downloadUrl.replaceFirst("exportFormat=pdf", "exportFormat=html");
    downloadUrl = appendWorksheetGid(downloadUrl); // adds "&gid="+sheetGid
    HttpResponse resp =
            driveService.getRequestFactory().buildGetRequest(new GenericUrl(downloadUrl))
                .execute();
    System.out.println("downloadUrl:"+downloadUrl);

    InputStream fileContent = resp.getContent();
    extractStyleFromHtml(fileContent,downloadUrl);

extractStyleFromHtml は Jsoup を使用します - (Jsoup は感銘を受けました)

于 2013-02-26T00:53:11.600 に答える
0

スプレッドシート API 経由ではできません。同じものを探していました。Google はドキュメントで同じことを認めてい ます。

セル要素のリテラル値は、フォーマットが適用されていないセルの計算値です。セルに数式が含まれている場合、計算された値がここに表示されます。Spreadsheets API には書式設定の概念がないため、セルの書式設定を操作することはできません。

関連する質問: API と Python を使用して Google スプレッドシートでセル形式を設定する

別の方法の 1 つは、ドキュメントをプログラムで Excel 形式でダウンロードすることです。フォーマット情報が含まれます。次に、Excel API を使用して情報を抽出します。

于 2013-08-27T13:54:30.940 に答える