約 3,238,768 件
https://w.atwiki.jp/api_programming/pages/55.html
下位ページ Content スプレッドシートの値を操作するまでの流れ SpreadSheetを開いた時に実行させる 入力するスプレッドシートを選択IDで開く 入力する(スプレッドシートの中の)シートを選択シート名で開く セルセルを選択するセル範囲を取得する セル範囲(単一セル)を取得する セルの最終行を取得する セルに値を操作するセルの値を読み取る セルに値を書き込む セルの値を消去する スプレッドシートの値を操作するまでの流れ SpreadSheetAppをつかってSpreadSheetを指定する SpreadSheetからSheetを指定する SheetからRange(セル範囲)を指定する Range(セル範囲)の値を書き込む/読み取る SpreadSheetを開いた時に実行させる エディタの時計のマークをクリックし、設定 http //galab.bathtimefish.com/google-apps-script-ru-men/shi-yongno-zhun-bei 入力するスプレッドシートを選択 IDで開く Spreadsheet ss = SpreadSheetApp.openById(id) SpreadSheetApp.openById 入力する(スプレッドシートの中の)シートを選択 シート名で開く Sheet sheet = SpreadSheet.getSheetByName(name) SpreadSheet.getSheetByName(name) セル セルを選択する セル範囲を取得する Range = sheet.getRange(row, column, numRows, numColumns) getRangeには、複数種類の引数パターンがオーバーライドされている。これはそのうちの一つ。 getRange セル範囲(単一セル)を取得する Range = Sheet.getRange(row, column) https //developers.google.com/apps-script/reference/spreadsheet/sheet#getRange%28Integer,Integer%29 セルの最終行を取得する sheet.getLastRow() getLastRow() セルに値を操作する セルの値を読み取る Object obj = Range.getValue() https //developers.google.com/apps-script/reference/spreadsheet/range#getValue%28%29 セルに値を書き込む range.setValue(value) setValue(value) http //www.bmoo.net/archives/2012/04/313823.html https //developers.google.com/apps-script/reference/spreadsheet/range#setValue%28Object%29 range.setValue(value) セルの値を消去する range.clearContent() clearContent
https://w.atwiki.jp/nasu1366/pages/21.html
https://w.atwiki.jp/devlabo/pages/29.html
参考ページ:PhpSpreadsheetのTIPSあれこれ https //qiita.com/BRSF/items/ed32311d48161be7c719 参考にさせていただきました。ありがとうございます。
https://w.atwiki.jp/keiplus/pages/205.html
Form2Spread GoogleAppsScript gas 本項は書きたての記事です。正確な情報は公式サイト、公式ドキュメント、記載の参照サイトでご確認ください。 目次 + 読む Form2Spread目次 簡易なフォーム+SpreadSheet連携 GAS処理 参考 簡易なフォーム+SpreadSheet連携 GASを書く必要はない。 手順 カテゴリ 内容 設定・コード 結果 1 GoogleForm フォームを作成 特に何もしなくてよい 2 GoogleForm タブ「回答」で回答先の選択を設定 以下のラジオボタンを選択状態にする「新しいスプレッドシートを作成 無題のフォーム(回答)」「作成」を押下 自動的にSpreadSheet「無題のフォーム(回答)」が作成され表示される 3 GoogleForm フォームURLを送信する ボタン「送信」を押下ポップアップ「フォームを送信」のメール送信先を自身が受取れるメアドを設定ボタン「送信」をクリック メールが宛先に届いていること 4 GoogleForm フォームに記入して送信テスト Gmailに届いているHTMLメール本文の「フォームに記入する」をクリックフォームページがブラウザで開くので、フォームに入力。ボタン「送信」をクリック SpreadSheet「無題のフォーム(回答)」に、フォームで入力した内容が出力されていること 5 以上 ※ 自動生成されたSpreadSheetは削除することが出来ない。削除するにはフォームと関連付けられたSpreadSheetをフォームのタブ:回答で「フォームのリンクを解除」する必要がある。 GAS処理 参考 [ 【簡単!】Googleフォーム送信時にGASを自動実行する方法 - Yuki s bnb blog ] ( https //www.yukibnb.com/entry/form_trigger ) [ 【GAS】Google フォームとスプレッドシートを連携して選択肢を動的に入力する。そして注文フォームを作ってみる。 - ファーマーズハウスさわ ] ( https //www.nakakamado.com/2021/09/form-gas.html )
https://w.atwiki.jp/nakamura001/pages/16.html
PHPでExcelファイル作成をするPEARライブラリ Spreadsheet_Excel_Writerをインストールする とりあえずサンプルを実行してみる ワークシートの追加 文字や背景に各種装飾を行う セルの幅を変更 ページの印刷方向を縦に設定 ページの印刷方向を横に設定 用紙のサイズを指定 塗りつぶしパターンの設定
https://w.atwiki.jp/sinapusu2002/pages/300.html
http //judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ITP1_7_C スプレッドシートのsum計算をする問題。 こういうのは素朴な実装しか思いつかないな。 #include iostream #include stdio.h using namespace std; int main() { // your code goes here int r,c; scanf("%d %d", r, c); int as[101]={0},a; for(int i=0;i r;i++){ int sum=0; for(int j=0;j c;j++){ scanf("%d", a); as[j]+=a; sum+=a; printf("%d ",a); } printf("%d\n",sum); } int sum=0; for(int i=0;i c;i++){ sum+=as[i]; printf("%d ",as[i]); } printf("%d\n",sum); return 0; }
https://w.atwiki.jp/api_programming/pages/180.html
下位ページ Java Content URI batchGet シートのデータを取得する GET シートのデータを取得するHTTP request Query parameters Request body Response body 認証(scope) APPEND https //developers.google.com/sheets/?hl=ja URI https //sheets.googleapis.com batchGet シートのデータを取得する URL/通信方式GET https //sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values batchGet URLspreadsheetId stringThe ID of the spreadsheet to retrieve data from. リクエストパラメータranges stringThe A1 notation of the values to retrieve. majorDimension enum(Dimension)The major dimension that results should use. For example, if the spreadsheet data is A1=1,B1=2,A2=3,B2=4, then requesting range=A1 B2,majorDimension=ROWS will return 1,2],[3,4, whereas requesting range=A1 B2,majorDimension=COLUMNS will return 1,3],[2,4. valueRenderOption enum(ValueRenderOption)How values should be represented in the output. dateTimeRenderOption enum(DateTimeRenderOption)How dates, times, and durations should be represented in the output. This is ignored if valueRenderOption is FORMATTED_VALUE. batchGet GET シートのデータを取得する HTTP request https //sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{range} spreadsheetId stringThe ID of the spreadsheet to retrieve data from. スプレッドシートを開いたときの、https //docs.google.com/spreadsheets/d/{ここ}/edit#gid=0 range stringA1形式で記述。A1だけなら "A1" A1,A2,B1,B2なら"A1 B2" Query parameters Parameters majorDimension enum(Dimension), DIMENSION_UNSPECIFIED,ROWS,COLUMNS レスポンスに含まれる値が、行→列で値を返すか、列→行で値を返すか。A1=1,B1=2,A2=3,B2=4 で A1 B2 の値を要求したとき、ROWS なら [[1,2],[3,4]], COLUMNS なら [[1,3],[2,4]] が返る。 valueRenderOption enum(ValueRenderOption), FORMATTED_VALUE,UNFORMATTED_VALUE,FORMULA 返す値をどのように表現して返すか dateTimeRenderOption enum(DateTimeRenderOption),SERIAL_NUMBER,FORMATTED_STRING 日時をどのように表現して返すか GET https //sheets.googleapis.com/v4/spreadsheets/{spreadsheetID}/values/A1?dateTimeRenderOption=FORMATTED_STRING majorDimension=ROWS valueRenderOption=FORMATTED_VALUE key={YOUR_API_KEY} Request body The request body must be empty. Response body If successful, the response body contains an instance of ValueRange. { "range" " シート1 !A1", "majorDimension" "ROWS", "values" [ [ "September 18, 2016 at 05 16PM" ] ] } 認証(scope) https //www.googleapis.com/auth/drive https //www.googleapis.com/auth/drive.readonly https //www.googleapis.com/auth/spreadsheets https //www.googleapis.com/auth/spreadsheets.readonly https //developers.google.com/sheets/reference/rest/v4/spreadsheets.values/get?hl=ja APPEND 既存のデータ範囲を考えて、最後の行にデータを追加する。 ※ HTTPPOST https //sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{range} append パスに設定するパラメータspreadsheetId stringThe ID of the spreadsheet to update. range stringThe A1 notation of a range to search for a logical table of data. Values will be appended after the last row of the table. 送信データに設定するパラメータvalueInputOption enum(ValueInputOption)How the input data should be interpreted. insertDataOption enum(InsertDataOption)How the input data should be inserted. Request bodyThe request body contains an instance of ValueRange. D14を起点として、開いている行を探して、2×2のデータを挿入したい。データは test11 test12 test21 test22 https //sheets.googleapis.com/v4/spreadsheets/aaaaa/values/D14 append?valueInputOption=USER_ENTERED key={YOUR_API_KEY} { "values" [ [ "test11", "test12" ], [ "test21", "test22" ] ] } レスポンス例 --ヘッダ-- cache-control private content-encoding gzip content-length 178 content-type application/json; charset=UTF-8 date Sun, 09 Oct 2016 09 02 52 GMT server ESF vary Origin, X-Origin, Referer --ボディ-- { "spreadsheetId" "aaaaa", "tableRange" " シート1 !D14 E15", "updates" { "spreadsheetId" "aaaaa", "updatedRange" " シート1 !D16 E17", "updatedRows" 2, "updatedColumns" 2, "updatedCells" 4 } } https //developers.google.com/sheets/reference/rest/v4/spreadsheets.values/append?hl=ja
https://w.atwiki.jp/api_programming/pages/184.html
下位ページ Content 値を取り出す Class Sheetsbuilderのコンストラクタパラメータ spreadsheets() Class SpreadSheetsValue Collection を操作するための accessor を取得する スプレッドシート Class Sheet.SpreadSheet.Value値を取得する 値を追加する Google Sheets API - Java Quickstart Google Sheets API - Google Sheets API これらのコレクションとの対応を考えればOK。 ただ多分よく使う Value Collection を使うために、Sheet - SpreadSheet を経由する。 Google Sheets API v4 値を取り出す ValueRange response = sheet.spreadsheets().values().get(spreadsheetId, range).execute(); Class Sheets スプレッドシートの読み書きを行うためのクラス。名前の似たSheetクラスがあるので、注意が必要。 Sheets builderのコンストラクタ public Sheets.Builder(transport, jsonFactory, httpRequestInitializer) パラメータ transport HTTP transport, which should normally be Google App Engine com.google.api.client.extensions.appengine.http.UrlFetchTransport そのまま new UrlFetchTransport() でOK. Android newCompatibleTransport from com.google.api.client.extensions.android.http.AndroidHttp Java com.google.api.client.googleapis.javanet.GoogleNetHttpTransport#newTrustedTransport() jsonFactory - JSON factory, which may be Jackson com.google.api.client.json.jackson2.JacksonFactory そのまま new JacksonFactory() でOK. Google GSON com.google.api.client.json.gson.GsonFactory Android Honeycomb or higher com.google.api.client.extensions.android.json.AndroidJsonFactory httpRequestInitializer - HTTP request initializer or null for noneGoogle系? GoogleCredentialで良い? spreadsheets() spreadsheets() スプレッドシートにリクエストを送るためのaccessor Class SpreadSheets SpreadSheets Value Collection を操作するための accessor を取得する value() スプレッドシート [[get() https //developers.google.com/resources/api-libraries/documentation/sheets/v4/java/latest/com/google/api/services/sheets/v4/Sheets.Spreadsheets.html#get(java.lang.String)] Class Sheet.SpreadSheet.Value Sheet.SpreadSheet.Value 値を取得する get() 値を追加する append()
https://w.atwiki.jp/guide/pages/2278.html
Googleスプレッドシート表示(googlespreadsheets2) #googlespreadsheets2(埋め込みHTMLタグ){横幅,縦幅} と入力することで、Googleスプレッドシートをwikiページに表示します。 表示サイズの横幅、縦幅を指定しない場合、それぞれデフォルト500,300となります。 使用例)※ 使用例表示の都合上一部改行をしておりますが、プラグイン使用の際には改行せずにHTMLタグを入力ください。 #googlespreadsheets2(https //docs.google.com/spreadsheet/pub?key=0ArLurC_iHPSOdGRRUnF0LWtGVGRTTTF2M3NOS3k4WlE output=html){}
https://w.atwiki.jp/vbdotnet/pages/15.html
レイアウトロジックの保留 / 再開 行列ヘッダー表示 / 非表示 表示行列数設定 列幅設定 スプレッド縦横幅設定 セルタイプを設定 数値型セルの小数点以下の桁数設定 数値型セルをカンマ区切りに設定 行列スクロールバー表示 / 非表示 シートを複数行選択モードにする シートの選択範囲を取得する セルフォント設定 アクティブセルの設定 セルを編集モード(セルにカーソルを出す)にする アクティブセルを常に編集モードにする 編集中のセルでKeyイベントを検知する コンボボックスセルのアイテムリストを作成する SetActiveCellメソッドでアクティブセルを変更してもEnterCell / LeaveCellイベントが発生しない 編集中セルでKeyDownイベント / KeyPressイベントが発生しない 編集中セルを全選択させる 隣接するセルの同じデータを結合する 編集中セルで左右矢印キーを押下した際に、列方向へアクティブセルを移動したい 列ヘッダーの連結 レイアウトロジックの保留 / 再開 保留 I_Spread.SuspendLayout() 再開 I_Spread.ResumeLayout() 行列ヘッダー表示 / 非表示 列 I_Spread.ActiveSheet.ColumnHeaderVisible = False 行 I_Spread.ActiveSheet.RowHeaderVisible = False 表示行列数設定 列 I_Spread.ActiveSheet.Columns.Count = F_DispColCount 行 I_Spread.ActiveSheet.Rows.Count = F_DispRowCount 列幅設定 I_Spread.ActiveSheet.Columns([ColIndex]).Width = 100 スプレッド縦横幅設定 I_Spread.Width = 100 I_Spread.Height = 200 セルタイプを設定 Dim W_Style As StyleInfo セルタイプ設定 W_Style.CellType = New CellType.CheckBoxCellType 文字の配置設定 W_Style.VerticalAlignment = CellVerticalAlignment.Center W_Style.HorizontalAlignment = CellHorizontalAlignment.Center スタイルをセット I_Spread.ActiveSheet.Models.Style.SetDirectInfo(-1, [ColIndex], W_Style) ※ SetDirectInfo([行番号(全体の場合は-1)], [列番号(全体の場合は-1)], [スタイル(StyleInfo)]) 数値型セルの小数点以下の桁数設定 小数点以下の桁数設定 CType(I_CellType, CellType.NumberCellType).DecimalPlaces = 0 数値型セルをカンマ区切りに設定 CType(I_CellType, CellType.NumberCellType).ShowSeparator = True CType(I_CellType, CellType.NumberCellType).Separator = "," 行列スクロールバー表示 / 非表示 I_Spread.VerticalScrollBarPolicy = ScrollBarPolicy.AsNeeded 必要時 I_Spread.HorizontalScrollBarPolicy = ScrollBarPolicy.Never 非表示 シートを複数行選択モードにする オペレーションモード設定 I_Spread.ActiveSheet.OperationMode = OperationMode.MultiSelect シートの選択範囲を取得する スプレッドの選択範囲を取得 W_SelectedRange = Spd_HINPOL.ActiveSheet.GetSelections() セルフォント設定 Dim W_Style As StyleInfo W_Style.Font = New Font("MS ゴシック", 12) I_Spread.ActiveSheet.Models.Style.SetDirectInfo(-1, SPD_COL.Hinmei_CD, W_Style) アクティブセルの設定 I_Spread.ActiveSheet.SetActiveCell([RowIndex], [ColIndex]) セルを編集モード(セルにカーソルを出す)にする アクティブセルに設定 ⇒ 編集モードON I_Spread.ActiveSheet.SetActiveCell([RowIndex], [ColIndex]) I_Spread.EditMode = True アクティブセルを常に編集モードにする I_Spread.EditModePermanent = True 編集中のセルでKeyイベントを検知する EditModeOnイベントで以下を実行 AddHandler I_Spread.EditingControl.KeyDown, AddressOf I_Spread_KeyDown InputMapの設定 W_inputMap = I_Spread.GetInputMap(InputMapMode.WhenAncestorOfFocused) 編集中セルのEnterキー押下による動作を無効 W_inputMap.Put(New Keystroke(Keys.Enter, Keys.None), SpreadActions.None) コンボボックスセルのアイテムリストを作成する Dim cmb As New FarPoint.Win.Spread.CellType.ComboBoxCellType() リストに表示されるアイテムを定義します cmb.Items = New String() {"Jan", "Feb", "Mar", "Apr", "May", "Jun"} 表示される各アイテムに対応したデータを定義します cmb.ItemData = New String() {"001", "002", "003", "004", "005", "006"} セルから取得/設定する値はItemDataとします cmb.EditorValue = FarPoint.Win.Spread.CellType.EditorValue.ItemData FpSpread1.ActiveSheet.Cells(0, 0).CellType = cmb SetActiveCellメソッドでアクティブセルを変更してもEnterCell / LeaveCellイベントが発生しない ⇒仕様(クリックなどユーザ操作によるセル移動時に発生) http //www.grapecity.com/japan/support/kb/detail.asp?id=16104 編集中セルでKeyDownイベント / KeyPressイベントが発生しない ⇒仕様(デフォルトで発生するのはKeyUpイベントのみ) 編集中セルを全選択させる FpSpread クラスのEditModeReplace プロパティにて、セルが編集モードになったときに、 セル内の既存のテキストを選択した状態にするかどうか設定することができます。 FpSpread1.EditModeReplace = True 隣接するセルの同じデータを結合する FpSpreadコンポーネントのSetColumnMergeメソッドを使用します。このメソッドはSheetViewクラスのメソッドで、 2つの引数を取ります。1つはセルを結合する列番号を指定します。 A列が「0」番になり、すべての列を対象にする場合は-1を指定します。 2番目の引数は、セル内の値に基づいてコントロールがセルを自動的に結合する方法を、MergePolicy列挙型で表します。 SetColumnMerge(0, FarPoint.Win.Spread.Model.MergePolicy.Always) Noneセルを自動的にマージしない Always値が同一の隣接セルと常にマージする Restricted別の行または列の対応するセルが同様にマージされている場合、値が同一の隣接セルと自動的にマージする http //codezine.jp/article/detail/1223?p=2 編集中セルで左右矢印キーを押下した際に、列方向へアクティブセルを移動したい ================== 【デフォルト設定】 ------------------ [矢印キー]:カーソルはセル内でのみ左または右に移動します [Ctrl]+[矢印キー]:カーソルはセル内の小さなテキスト単位の1単位分だけ左または右に移動します ================== Dim tc1 As New FarPoint.Win.Spread.CellType.TextCellType tc1.AcceptsArrowKeys = FarPoint.Win.SuperEdit.AcceptsArrowKeys.AllArrows FpSpread1.ActiveSheet.Rows(0).CellType = tc1 ================== [矢印キー] カーソルはセル内でのみ左または右に移動します [Ctrl]+[矢印キー]:セルは編集を終了し、アクティブセルはカーソル方向に移動します ================== Dim tc2 As New FarPoint.Win.Spread.CellType.TextCellType tc2.AcceptsArrowKeys = FarPoint.Win.SuperEdit.AcceptsArrowKeys.Arrows FpSpread1.ActiveSheet.Rows(1).CellType = tc2 ================== [矢印キー]:セルは編集を終了し、アクティブセルはカーソル方向に移動します [Ctrl]+[矢印キー]:カーソルはセル内の小さなテキスト単位の1単位分だけ左または右に移動します ================== Dim tc3 As New FarPoint.Win.Spread.CellType.TextCellType tc3.AcceptsArrowKeys = FarPoint.Win.SuperEdit.AcceptsArrowKeys.CtrlArrows FpSpread1.ActiveSheet.Rows(2).CellType = tc3 ================== [矢印キー]:セルは編集を終了し、アクティブセルはカーソル方向に移動します [Ctrl]+[矢印キー]:セルは編集を終了し、アクティブセルはカーソル方向に移動します ================== Dim tc4 As New FarPoint.Win.Spread.CellType.TextCellType tc4.AcceptsArrowKeys = FarPoint.Win.SuperEdit.AcceptsArrowKeys.None FpSpread1.ActiveSheet.Rows(3).CellType = tc4 列ヘッダーの連結 ⇒未サポート