【问题标题】:Empty google worksheet before writing in it在写入之前清空谷歌工作表
【发布时间】:2017-11-18 13:24:46
【问题描述】:

我使用asimlqt/php-google-spreadsheet-client 阅读谷歌电子表格并在谷歌电子表格中写入。

有更新和删除实际工作表的功能,但在我将数据写入其中之前不会清空工作表。
知道使用这个库的人在写入之前清空工作表的方法吗?如果不是,您无法确定旧数据是否仍然可用

【问题讨论】:

  • 删除 > 创建 > 重命名 > 写入

标签: php google-spreadsheet-api


【解决方案1】:

我的个人解决方案是删除工作表并重新创建

// service
$spreadsheetService = new Google\Spreadsheet\SpreadsheetService();
$spreadsheetFeed = $spreadsheetService->getSpreadsheetFeed();

// retrieve a list of worksheets from a spreadsheet 
$spreadsheet = $spreadsheetFeed->getByTitle('Spreadsheet');
$worksheetFeed = $spreadsheet->getWorksheetFeed();

// get the worksheet you want to empty
$worksheet = $worksheetFeed->getByTitle('EmptySheet');

// delete the worksheet
$worksheet->delete();

// recreate the worksheet to be sure it's empty
$spreadsheet->addWorksheet('EmptySheet', rows, column);

编辑

或者使用带有空参数userEnteredValue 的batchUpdate。看https://developers.google.com/sheets/api/samples/sheet#clear_a_sheet_of_all_values_while_preserving_formats

【讨论】:

  • 听起来不错。但是电子表格中工作表的顺序呢,那会改变吗?
  • 来自 DOC developers.google.com/sheets/api/v3/worksheets:“重要提示:除了删除和重新创建所有工作表之外,目前无法通过 Sheets API 在 UI 中设置工作表的顺序。”。
  • batchUpdate 选项听起来更适合我。但是,当我使用 asimlqt/php-google-spreadsheet-client 时,如何从 Google API 使用这个 batchUpdate?我收到错误代码 403 并显示以下消息:“Google Sheets API 之前未在项目电子表格 184712 中使用或已禁用。”在我的谷歌控制台中,我使用谷歌驱动器 API 而不是谷歌电子表格 API
  • 好的解决了,需要使用给定库中的函数获取gidspreadsheetId,并使用链接中的代码
猜你喜欢
  • 1970-01-01
  • 2018-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-29
  • 2015-03-03
相关资源
最近更新 更多