UFC*_*der 4 node.js google-sheets-api
使用Google-Sheets-API for Node.js,如何以编程方式在现有电子表格中添加/创建新表格?
实际上是可行的,并记录在Spreadsheets / batchUpdate / Requests#AddSheetRequest下
authorize(JSON.parse(clientSecretContent), (auth) => {
const sheets = google.sheets({ version: 'v4', auth });
const request = {
// The ID of the spreadsheet
"spreadsheetId": spreadsheetId,
"resource": {
"requests": [{
"addSheet": {
// Add properties for the new sheet
"properties": {
// "sheetId": number,
// "title": string,
// "index": number,
// "sheetType": enum(SheetType),
// "gridProperties": {
// object(GridProperties)
// },
// "hidden": boolean,
// "tabColor": {
// object(Color)
// },
// "rightToLeft": boolean
}
}
]}
}
};
sheets.spreadsheets.batchUpdate(request, (err, response) => {
if (err) {
// TODO: Handle error
} else {
// TODO: Handle success
}
});
});
Run Code Online (Sandbox Code Playgroud)
为了后代的利益,这里有一个基于承诺(异步/等待)的 Sheets API 示例,说明如何将工作表(选项卡)添加到电子表格。
await api.spreadsheets.batchUpdate ({
spreadsheetId: spreadsheetId,
resource: {requests: [ {addSheet: {properties: {title: tabName }}}]}});
Run Code Online (Sandbox Code Playgroud)
一个完整的例子
async function addSheet (auth, spreadsheetId, tabName) {
const api = google.sheets({version: 'v4', auth: auth});
try {
// Only add sheet if it doesn't already exist
if ((await api.spreadsheets.get({spreadsheetId: spreadsheetId})).data.sheets
.filter(sheet => sheet.properties.title === tabName).length === 0) {
await api.spreadsheets.batchUpdate ({
spreadsheetId: spreadsheetId,
resource: {requests: [ {addSheet: {properties: {title: tabName }}}]}});
}
} catch (err) {
console.log('Sheets API Error: ' + err);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
368 次 |
| 最近记录: |