在檢查檔案后,我開始使用
- 這就是我所做的:
Format > Number > Plain text
- 這是結果:

當我從 google API 將相同的單元格格式化為純文本時,會發生這種情況:
這是我應用的 JSON:
"requests": [ { "repeatCell": { "range": { "sheetId": 3, "startColumnIndex": 1, "endColumnIndex": 2, "startRowIndex": 1, "endRowIndex": 2 }, "cell": { "userEnteredFormat": { "numberFormat": { "type": "TEXT" } } }, "fields": "userEnteredFormat.numberFormat" } } ] }```這是結果:

我的問題:如何從 API 執行與直接從作業表執行相同的操作?
uj5u.com熱心網友回復:
我和你有過同樣的情況。當時,作為一種解決方法,我使用了以下流程。
- 從作業表中檢索值作為格式化值。
- 將值作為字串值放在作業表上。
當此解決方法反映在腳本中時,它變為如下。
示例腳本:
const spreadsheetId = "###"; // Please set the Spreadsheet ID.
const sheetName = "Sheet1"; // Please set the sheet name.
const sheets = google.sheets({ version: "v4", auth }); // Please use your authorization script.
const values = await sheets.spreadsheets.values.get({
spreadsheetId,
range: sheetName,
valueRenderOption: "FORMATTED_VALUE",
});
const res = await sheets.spreadsheets.values.update({
spreadsheetId,
range: sheetName,
valueInputOption: "RAW",
resource: { values: values.data.values },
});
結果:
使用此腳本時,會得到以下結果。
從:

到:

筆記:
此示例腳本使用作業表。如果要使用具體范圍,請修改
range.In this script, the number format is changed to
Automatic. If you want to change this toPlain text, please use the following script instead of the above one.const spreadsheetId = "###"; // Please set the Spreadsheet ID. const sheetName = "Sheet1"; // Please set the sheet name. const sheets = google.sheets({ version: "v4", auth }); // Please use your authorization script. const sheetId = 0; // Please set the sheet ID of "sheetName". const values = await sheets.spreadsheets.values.get({ spreadsheetId, range: sheetName, valueRenderOption: "FORMATTED_VALUE", }); const requests = values.data.values.map((r, i) => r.map((c, j) => ({ updateCells: { range: { sheetId: sheetId, startRowIndex: i, endRowIndex: i 1, startColumnIndex: j, endColumnIndex: j 1, }, rows: [ { values: [ { userEnteredFormat: { numberFormat: { type: "TEXT", }, }, userEnteredValue: { stringValue: c, }, }, ], }, ], fields: "userEnteredFormat.numberFormat,userEnteredValue", }, })) ); const res = await sheets.spreadsheets.batchUpdate({ spreadsheetId, resource: { requests }, });
References:
- Method: spreadsheets.values.get
- Method: spreadsheets.values.update
- Method: spreadsheets.batchUpdate
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/438810.html
下一篇:借助復選框添加日歷事件
