当前位置: 首页 > 知识库问答 >
问题:

如何使用Google Sheets API v4使用PHP在电子表格中创建新的工作表或选项卡

令狐烨烨
2023-03-14

对于PHP,Google Sheets API v4文档中不清楚如何在现有电子表格中创建新的表格(也称为“选项卡”)。

奇怪的是,我可以通过API Explorer使用batchUpdate来做到这一点,但他们没有解释如何在PHP中做到这一点。

共有3个答案

顾涵衍
2023-03-14

这是如何做到这一点与Node.js客户端:

    const gsapi = google.sheets({version: 'v4', auth: client})
    const options = {
      spreadsheetId: 'YOUR ID IS EVERYTHING BETWEEN /d/ and /edit on your spreadsheets URL'
    }

    const res = await gsapi.spreadsheets.batchUpdate({
      spreadsheetId: options.spreadsheetId,
      requestBody: {
        requests: [{
          addSheet: {
            properties: {
              title: table,
            }
          }
        }]
      }
    })

    console.log(res)
谢宸
2023-03-14

看看这个

SCOPES = ['https://www.googleapis.com/auth/spreadsheets']
SERVICE_ACCOUNT_FILE = 'credentials.json'
SPREADSHEET_ID = spreadsheetId

creds = None
creds = service_account.Credentials.from_service_account_file(
    SERVICE_ACCOUNT_FILE, scopes=SCOPES)

service = discovery.build(
    'sheets', 'v4', credentials=creds, cache_discovery=False)

batch_update_values_request_body = {
        'requests': [
            {
                'addSheet': {
                    'properties': {
                        'title': worksheetName
                    }
                }
            }
        ]
    }
    request = service.spreadsheets().batchUpdate(
        spreadsheetId=SPREADSHEET_ID, body=batch_update_values_request_body)
    response = request.execute()
戎劲
2023-03-14

看起来文档中说我们必须使用batchUpdate from$服务-

try {
    $body = new Google_Service_Sheets_BatchUpdateSpreadsheetRequest(array(
        'requests' => array(
            'addSheet' => array(
                'properties' => array(
                    'title' => 'New Sheet'
                )
            )
        )
    ));
    $result1 = $service->spreadsheets->batchUpdate($sSpreadsheetID,$body);
} catch(Exception $ignore) {}

假设您已经验证了API以获取客户机对象,然后使用该对象获取Google\u service\u Sheets类的服务对象,并将其分配给电子表格的ID,然后,上述例程将尝试在不破坏任何现有选项卡的情况下向电子表格中添加一个名为“new Sheet”的新选项卡,如果该选项卡已存在,则不会显示错误。在这一点上,您可以通过使用A1符号对新工作表进行寻址来对其进行一些新操作。

 类似资料:
  • 我的脚本在提交一些表单后在电子表格上添加新的表单。此表用作排行榜。但要查看它,我必须单击新创建的选项卡。有什么办法可以从脚本中完成吗? 这张图片是创建新工作表后的屏幕截图(第1周第2课)。 P、 我发现我必须重新表述这个问题。问题是,我想从另一个电子表格(此电子表格有onSubmit触发器,并在其他打开的电子表格(排行榜)上创建和放置信息)中执行此操作。我检查setActiveSheet(工作表)

  • 我已经通过谷歌官方文档《开发者指南》API中提到的一个简单Java代码成功地在我的Google Drive帐户的现有电子表格中创建了一个新的工作表,但我想通过Java代码在我的Google Drive帐户中创建一个新的电子表格。在链接中,他们没有提到这方面的任何示例代码。我已经在Spreadservice类中看到了不同的可用方法。 如何使用Google电子表格API实现这一点?

  • 我设法使用以下代码在谷歌驱动器上创建电子表格。现在我想在创建的电子表格中添加新表。 当我创建新的电子表格时,它包含名为Sheet1的默认工作表,但我想重命名该工作表或在电子表格中插入多个工作表

  • 我正在尝试使用javascript创建一个包含两个工作表或“选项卡”的Google电子表格。我可以创建工作表并向选项卡添加标题,但我只能创建一个选项卡。我也尝试过使用addSheet属性,它只是覆盖了现有的工作表。以下是我尝试发送的数据示例:

  • 我有一个用于Google Sheets的“onEdit”脚本,但只希望它在一张工作表上工作: 如何更改脚本,使其仅在工作表中的一张工作表上工作?

  • 我想用PHP在MySQL数据库中创建一个表。这是我的尝试: 但这给了我一个错误 我搜索了很多,但没有找到成功的解决方案。有人有主意吗?