我需要將表格從 R 匯出到 Excel。Excel 列之一必須是超鏈接。因此,我添加了一個新列來使用“ =HYPERLINK ”函式構建字串文本,以便 Excel 將其解釋為超鏈接。
Excel HYPERLINK 函式:
=HYPERLINK(鏈接位置,[友好名稱])
要構建我的超鏈接,我需要使用原始表中的 2 個變數。
- 為“ link_location ”構建 URL的“ Id ”變數
- 要顯示為“ friendly_name ”的“ CaseNumber ”變數
根據我的例子:
=HYPERLINK( Id , [ CaseNumber ])
所以首先我嘗試了:
Import %>%
select (Id, CaseNumber) %>%
mutate(CaseLink = glue::glue("=HYPERLINK(https://abc.xyz/{Id}, {CaseNumber})"))
輸出示例:
| ID | 案件編號 | 案例鏈接 |
|---|---|---|
| 5004V000000000000A | 00000001 | =超鏈接(https://abc.xyz/5004V000000000000A,00000001) |
但它不起作用,因為 Excel 要求“ link_location ” URL 在雙引號下,例如:
=HYPERLINK("https://abc.xyz/5004V000000000000A", 00000001)
所以我使用函式glue::double_quote 在雙引號之間添加“ link_location ” URL 字串:
Import %>%
select (Id, CaseNumber) %>%
mutate(CaseLink = glue::glue('=HYPERLINK({glue::glue_collapse(glue::double_quote("https://abc.xyz/{Id}"))}, {CaseNumber})'))
但它也不起作用,因為它不再檢索“ Id ”資訊,而是將其列印為文本“ {Id} ”作為字串的一部分!
輸出示例:
| ID | 案件編號 | 案例鏈接 |
|---|---|---|
| 5004V000000000000A | 00000001 | =HYPERLINK("https://abc.xyz/{Id}", 00000001) |
但我需要的是:
| ID | 案件編號 | 案例鏈接 |
|---|---|---|
| 5004V000000000000A | 00000001 | =HYPERLINK("https://abc.xyz/5004V000000000000A", 00000001) |
任何人都可以幫助我糾正它以實作這樣的結果嗎?它不需要使用膠水包或使用 Excel 中的 HYPERLINK 函式。也歡迎其他選擇和想法。
uj5u.com熱心網友回復:
適用于stringr::str_glue:
import %>%
mutate(CaseLink = str_glue('=HYPERLINK("https://abc.xyz/{Id}", {CaseNumber})'))
# A tibble: 1 x 3
id case_num CaseLink
<chr> <chr> <glue>
1 5004V000000000000A 00000001 =HYPERLINK("https://abc.xyz/5004V000000000000A", 00000001)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/518314.html
標籤:r擅长r-胶水
