在PHP客户端

时间:2018-03-17 16:23:21

标签: php google-api google-drive-api google-spreadsheet-api google-api-php-client

我有一个网络应用,可以使用Google表格计算建筑物的报价。客户端使用输入完成表单后,我会计算成本并生成一个包含相应值的电子表格,以通过电子邮件发送给客户。

如何只将相应的工作表导出为PDF,而不是所有其他对我们有用的工作表(但不包括客户端)。

我正在使用Google的PHP API客户端,包括Sheets API和Drive API,并且没有方法可以只导出一个工作表:drive.files.export方法导出整个电子表格。

如果我尝试使用spreadsheets.sheets.copyTo方法,我可以将相应的工作表复制到新的电子表格中,但由于此工作表的值是通过依赖于工作表其余部分的公式计算的,因此我获得了单元格值新创建的电子表格中的错误。

我不知道我是否可以语法授予对新电子表格的访问权限。

任何人都知道导出单张表的解决方法吗?

1 个答案:

答案 0 :(得分:0)

Export Single Sheet to PDF in Apps Script,您是否尝试调整工作表可见性?在Sheets REST API中,您可以使用Update Sheet Properties请求执行此操作。您可以将其中的几个捆绑到批处理请求中,以确保在转换之前隐藏除所需工作表之外的所有工作表。

在REST中,这看起来像:

{
  "requests": [
    "updateSheetProperties" {
      "properties": {
        "sheetId": ...
        "hidden": true,
      }
    "fields": "hidden"
    },
    "updateSheetProperties" {
      ...
  ],
  "includeSpreadsheetInResponse": false
}

在PHP客户端中,您使用batchUpdateSpreadsheetRequest方法和this request