當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R googlesheets4 range_flood 淹沒或清除一係列單元格


range_flood() "floods" 具有相同內容的單元格範圍。 range_clear() 是一個包裝器,用於處理清除單元格值的常見特殊情況。默認情況下,這兩個函數也會清除格式,但這可以通過 reformat 指定。

用法

range_flood(ss, sheet = NULL, range = NULL, cell = NULL, reformat = TRUE)

range_clear(ss, sheet = NULL, range = NULL, reformat = TRUE)

參數

ss

識別 Google 表格的內容:

  • 其文件 ID 作為字符串或 drive_id

  • 我們可以從中恢複 id 的 URL

  • one-row dribble ,這就是 googledrive 表示雲端硬盤文件的方式

  • googlesheets4_spreadsheet 的實例,這就是 gs4_get() 返回的內容

通過 as_sheets_id() 處理。

sheet

要寫入的表,在 "worksheet" 或 "tab" 的意義上。您可以通過名稱(使用字符串)或位置(使用數字)來標識工作表。

range

要讀取的單元格範圍。如果是 NULL ,則讀取所有非空單元格。否則,請按照 Sheets A1 notation 中的說明指定 range 或使用 cell-specification 中記錄的幫助程序。 Sheets 使用相當標準的電子表格範圍表示法,盡管與 Excel 略有不同。有效範圍示例: "Sheet1!A1:B2""Sheet1!A:A""Sheet1!1:2""Sheet1!A5:A""A1:B2""Sheet1" 。嚴格解釋,即使範圍強製包含前導、尾隨或嵌入的空行或列。優先於 skipn_maxsheet 。注意 range 可以是命名範圍,如 "sales_data" ,沒有任何單元格引用。

cell

用於填充 range 中的單元格的值。如果未指定,默認值 NULL 會導致清除現有值。

reformat

邏輯,指示是否重新格式化受影響的單元格。目前 googlesheets4 不提供對格式的真正支持,因此 reformat = TRUE 實際上意味著編輯的單元格變為未格式化。

輸入 ss ,作為 sheets_id 的實例

例子

# create a data frame to use as initial data
df <- gs4_fodder(10)

# create Sheet
ss <- gs4_create("range-flood-demo", sheets = list(df))
#> ✔ Creating new Sheet: range-flood-demo.

# default behavior (`cell = NULL`): clear value and format
range_flood(ss, range = "A1:B3")
#> ✔ Editing range-flood-demo.
#> ✔ Editing sheet Sheet1.

# clear value but preserve format
range_flood(ss, range = "C1:D3", reformat = FALSE)
#> ✔ Editing range-flood-demo.
#> ✔ Editing sheet Sheet1.

# send new value
range_flood(ss, range = "4:5", cell = ";-)")
#> ✔ Editing range-flood-demo.
#> ✔ Editing sheet Sheet1.

# send formatting
# WARNING: use these unexported, internal functions at your own risk!
# This not (yet) officially supported, but it's possible.
blue_background <- googlesheets4:::CellData(
  userEnteredFormat = googlesheets4:::new(
    "CellFormat",
    backgroundColor = googlesheets4:::new(
      "Color",
      red = 159 / 255, green = 183 / 255, blue = 196 / 255
    )
  )
)
range_flood(ss, range = "I:J", cell = blue_background)
#> ✔ Editing range-flood-demo.
#> ✔ Editing sheet Sheet1.

# range_clear() is a shortcut where `cell = NULL` always
range_clear(ss, range = "9:9")
#> ✔ Editing range-flood-demo.
#> ✔ Editing sheet Sheet1.
range_clear(ss, range = "10:10", reformat = FALSE)
#> ✔ Editing range-flood-demo.
#> ✔ Editing sheet Sheet1.

# clean up
gs4_find("range-flood-demo") %>%
  googledrive::drive_trash()
#> File trashed:
#> • range-flood-demo <id: 1tAlVBBMhEj0dWwAUlI_drk99Am3MtiAjQ3RR76IebkA>
源代碼:R/range_flood.R

相關用法


注:本文由純淨天空篩選整理自Jennifer Bryan等大神的英文原創作品 Flood or clear a range of cells。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。