检查表是否存在于spreatsheet Google电子表格API PHP中

时间:2017-07-06 05:45:48

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

如何检查工作表是否退出电子表格(按名称检查表格)或不使用Google Sheet API。我使用过y

如果不存在工作表,则创建一个新工作表。

由于

2 个答案:

答案 0 :(得分:1)

最后我找到了解决方案。在电子表格中没有可用于检查工作表的方法。

我使用了电子表格对象来获取电子表格的所有信息。并使自定义功能检查特定的工作表名称是否存在,并且工作正常。

    function myArrayContainsWord(array $myArray, $word) {
    foreach ($myArray as $element) {
        if ($element->title == $word) {
            return true;
        }
    }
    return false;
  }

   $service = new Google_Service_Sheets($client);
   $spreadsheetId = 'your spredsheetid';
   $sheetInfo = $service->spreadsheets->get($spreadsheetId);
   $allsheet_info = $sheetInfo['sheets'];
   $idCats = array_column($allsheet_info, 'properties');

   if (myArrayContainsWord($idCats, "sheetname")) {
      //echo found
   } 

答案 1 :(得分:-1)

使用java-api,您应该能够执行以下操作来检查ID为“ id”的电子表格中是否存在工作表

    final NetHttpTransport HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();
    final String spreadsheetId = "id";
    Sheets service = new Sheets.Builder(HTTP_TRANSPORT, JSON_FACTORY, getCredentials(HTTP_TRANSPORT))
            .setApplicationName(APPLICATION_NAME)
            .build();
    final Spreadsheet spreadsheet = service.spreadsheets().get(spreadsheetId).setFields("sheets.properties.title").execute();
    final Optional<Sheet> first = spreadsheet
            .getSheets()
            .stream().filter(sheet -> {
                //check if title is present
                return sheet.getProperties().getTitle().equalsIgnoreCase(sheetName);
            }).findFirst();
    return first.isPresent();