From 87959d42375a909c29f706e5577847a9ec017fc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franc=CC=A7ois=20Rouault?= Date: Fri, 26 Feb 2021 00:09:44 +0100 Subject: [PATCH 1/3] Implement pasteData --- docs/classes/google-spreadsheet-worksheet.md | 9 +++++++++ lib/GoogleSpreadsheetWorksheet.js | 11 ++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/docs/classes/google-spreadsheet-worksheet.md b/docs/classes/google-spreadsheet-worksheet.md index b413018..d026542 100644 --- a/docs/classes/google-spreadsheet-worksheet.md +++ b/docs/classes/google-spreadsheet-worksheet.md @@ -240,6 +240,15 @@ Param|Type|Required|Description ---|---|---|--- `range`|Object
[GridRange](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/other#GridRange)]|✅|Range of cells to unmerge, sheetId not required! +#### `pasteData(coordinate, data, delimiter)` (async) :id=fn-pasteData +> Inserts data into the spreadsheet starting at the specified coordinate. + +Param|Type|Required|Description +---|---|---|--- +`coordinate`|[[GridCoordinate](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/other#GridCoordinate)]|✅|The coordinate at which the data should start being inserted, sheetId not required! +`data`|String|✅|The data to insert. +`delimiter`|String|✅|The delimiter in the data. + ### Updating Sheet Properties #### `updateProperties(props)` (async) :id=fn-updateProperties diff --git a/lib/GoogleSpreadsheetWorksheet.js b/lib/GoogleSpreadsheetWorksheet.js index cbc33ac..286dd7a 100644 --- a/lib/GoogleSpreadsheetWorksheet.js +++ b/lib/GoogleSpreadsheetWorksheet.js @@ -697,9 +697,18 @@ class GoogleSpreadsheetWorksheet { // https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/request#UpdateEmbeddedObjectPositionRequest } - async pasteData() { + async pasteData(coordinate, data, delimiter) { // Request type = `pasteData` // https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/request#PasteDataRequest + await this._makeSingleUpdateRequest("pasteData", { + coordinate: { + rowIndex: coordinate.rowIndex, + columnIndex: coordinate.columnIndex, + sheetId: this.sheetId, + }, + data, + delimiter, + }); } async textToColumns() { From d9c1556c249dc24b4fea847b83b2dc316f775fa3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franc=CC=A7ois=20Rouault?= Date: Thu, 20 Jan 2022 01:21:07 +0100 Subject: [PATCH 2/3] Implement appendDimension --- docs/classes/google-spreadsheet-worksheet.md | 8 ++++++++ lib/GoogleSpreadsheetWorksheet.js | 7 ++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/docs/classes/google-spreadsheet-worksheet.md b/docs/classes/google-spreadsheet-worksheet.md index d026542..7904026 100644 --- a/docs/classes/google-spreadsheet-worksheet.md +++ b/docs/classes/google-spreadsheet-worksheet.md @@ -249,6 +249,14 @@ Param|Type|Required|Description `data`|String|✅|The data to insert. `delimiter`|String|✅|The delimiter in the data. +#### `appendDimension(dimension, length)` (async) :id=fn-appendDimension +> Appends rows or columns to the end of a sheet. + +Param|Type|Required|Description +---|---|---|--- +`dimension`|[[Dimension](https://developers.google.com/sheets/api/reference/rest/v4/Dimension)]|✅|Whether rows or columns should be appended. +`length`|number|✅|The number of rows or columns to append. + ### Updating Sheet Properties #### `updateProperties(props)` (async) :id=fn-updateProperties diff --git a/lib/GoogleSpreadsheetWorksheet.js b/lib/GoogleSpreadsheetWorksheet.js index 286dd7a..9936d16 100644 --- a/lib/GoogleSpreadsheetWorksheet.js +++ b/lib/GoogleSpreadsheetWorksheet.js @@ -726,9 +726,14 @@ class GoogleSpreadsheetWorksheet { // https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/request#DeleteRangeRequest } - async appendDimension() { + async appendDimension(dimension, length) { // Request type = `appendDimension` // https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/request#AppendDimensionRequest + await this._makeSingleUpdateRequest("appendDimension", { + sheetId: this.sheetId, + dimension, + length, + }); } async addConditionalFormatRule() { From e1661595babf365e9023cb20024b54cea96f277e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franc=CC=A7ois=20Rouault?= Date: Thu, 1 Sep 2022 14:37:01 +0200 Subject: [PATCH 3/3] Add the parameter `type` in the `pasteData` request --- docs/classes/google-spreadsheet-worksheet.md | 1 + lib/GoogleSpreadsheetWorksheet.js | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/classes/google-spreadsheet-worksheet.md b/docs/classes/google-spreadsheet-worksheet.md index 7904026..80cb862 100644 --- a/docs/classes/google-spreadsheet-worksheet.md +++ b/docs/classes/google-spreadsheet-worksheet.md @@ -248,6 +248,7 @@ Param|Type|Required|Description `coordinate`|[[GridCoordinate](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/other#GridCoordinate)]|✅|The coordinate at which the data should start being inserted, sheetId not required! `data`|String|✅|The data to insert. `delimiter`|String|✅|The delimiter in the data. +`type`|String (enum)
[PasteType](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/request#PasteType)|-|How the data should be pasted. _defaults to `PASTE_NORMAL`_ #### `appendDimension(dimension, length)` (async) :id=fn-appendDimension > Appends rows or columns to the end of a sheet. diff --git a/lib/GoogleSpreadsheetWorksheet.js b/lib/GoogleSpreadsheetWorksheet.js index 9936d16..bbd30d8 100644 --- a/lib/GoogleSpreadsheetWorksheet.js +++ b/lib/GoogleSpreadsheetWorksheet.js @@ -697,7 +697,7 @@ class GoogleSpreadsheetWorksheet { // https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/request#UpdateEmbeddedObjectPositionRequest } - async pasteData(coordinate, data, delimiter) { + async pasteData(coordinate, data, delimiter, type = "PASTE_NORMAL") { // Request type = `pasteData` // https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/request#PasteDataRequest await this._makeSingleUpdateRequest("pasteData", { @@ -708,6 +708,7 @@ class GoogleSpreadsheetWorksheet { }, data, delimiter, + type }); }