【发布时间】:2018-08-31 15:55:05
【问题描述】:
我们正在尝试在 R 脚本中自动创建一些图片文件。
我们的 Excel 文件看起来符合我们的要求,但现在需要制作这些 Excel 表格的 JPG 或 PNG 图片副本,以便于网络发布。
我们在 R 和 Excel 之间的大部分交互中一直使用 library(xlsx) 包,看起来我们应该能够通过类似 @987654325 的方式发送特定的 java 命令@ 但目前还不清楚我们如何传递尽可能多的行。
在 R 会话中,这是一个最小的可重现示例...
这是一个包含要打印的范围的示例 Excel 文件
library(xlsx)
file <- system.file("tests", "test_import.xlsx", package = "xlsx")
file
这是将 Excel 范围导出到图片文件的 Excel 宏
Sub Tester()
Worksheets("deletedFields").Range("A8:J36").CopyPicture xlScreen, xlBitmap
Application.DisplayAlerts = False
Set oCht = Charts.Add
With oCht
.Paste
.Export Filename:="C:\temp\SavedRange.jpg", Filtername:="JPG"
.Delete
End With
End Sub
非常感谢任何自动化此操作的帮助!
【问题讨论】:
-
你试过this吗?
-
感谢@nice!我相信这需要宏已经嵌入到
.xlsx文件中,但我们正在动态创建这些宏数百次。如果我们也可以在 R 生成的.xlsx文件中自动添加宏,这可能会起作用吗?谢谢 -
是否有某些原因,excel 文件的图片优于
xtable或shiny创建的 html 格式表?从您提供的少量信息来看,似乎有更好的方法来实现您的主要目标。 -
嗨,@Bishops_Guest 谢谢。我们需要将 Excel 文件发送给研究人员和记者,因此无论哪种方式都需要构建这些表格。我们可能会重新做所有事情,但只需对我们已有的 Excel 范围进行快照即可节省时间。
-
openxlsx可能会让你更幸运