gpt4 book ai didi

r - 使用 openxlsx 包的工作表链接问题

转载 作者:行者123 更新时间:2023-12-04 22:16:11 26 4
gpt4 key购买 nike

我使用 openxlsx包很多,我很满意。我最近购买了一台装有 Windows 10 的新电脑,并继续使用我自己编写的一些程序。但是,在新机器上,我在 Excel 文件本身中创建工作表链接时发现了一个奇怪的行为。考虑以下最小示例:

library(openxlsx)

wbook <- createWorkbook()

addWorksheet(wb = wbook, sheetName = "Index")
addWorksheet(wb = wbook, sheetName = "Data")

writeFormula(wb = wbook, sheet = "Index", startCol = 1, startRow = 1, x =
makeHyperlinkString(sheet = "Data", text = "Click"))

writeData(wb = wbook, sheet = "Data", x = data.frame(X = 1:10, Y = 11:20))

saveWorkbook(wb = wbook, file = "C:/temp/test.xlsx", overwrite = TRUE)
当我打开文件时,我在 Index 中看到以下内容床单:
enter image description here
单击单元格中的链接会在 Excel 中出现一个错误框,“无法打开指定的文件”。我也在同一台机器上的 Arch Linux 下尝试过,结果是一样的。如果我执行上述代码的以下部分
makeHyperlinkString(sheet = "Data", text = "Click")
控制台中的结果符合预期:
[1] "=HYPERLINK(\"#'Data'!A1\", \"Click\")"
由于某种原因,双引号和单引号被转换为 HTML &quote;&apos;工作簿写入磁盘时的标记。
单元格中的实际公式应为 =HYPERLINK("#'Data'!A1", "Click")并应在 Excel 中显示如下:
enter image description here
后者是在我之前的 Windows 10 计算机上生成的。我也在我之前的计算机上的 Arch Linux 下尝试过它,它工作得很好。我在 Windows 10 下的第三台机器上试了一下,没有问题。我尝试过的所有计算机都具有相同的语言设置。这是 Sys.getlocale() 的输出在 Windows 和 Linux 下的所有三台计算机上的 R 中的命令:
[1] "LC_COLLATE=English_United States.1252;LC_CTYPE=English_United States.1252;LC_MONETARY=English_United States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252"
这种行为的原因可能是什么?

最佳答案

有一个issue在已报告的 4.2.4 版本和 bug fix应该是下一个版本的一部分,并且已经是 development version 的一部分4.2.4.9000。
尝试:

remotes::install_github("ycphs/openxlsx")
我刚刚对其进行了测试,结果看起来符合预期。

关于r - 使用 openxlsx 包的工作表链接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68883861/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com