У меня проблемы с функцией insertImage
в R
пакете openxlsx
. Каждый раз, когда я вставляю новое изображение, все остальные изображения в документе сворачиваются и не отображаются. Любые идеи?
Ошибка функции insertImage (пакет R openxlsx)
Ответы (2)
Не видя больше вашего кода, я не уверен, что могу чем-то помочь. Я смог использовать ваш фрагмент, чтобы без проблем вставить два изображения (одно под другим). Вот ссылка на insertImage()
документацию.
library(openxlsx)
wb <- openxlsx::loadWorkbook("M:\\imageTest.xlsx")
wb %>%
insertImage("01", "C:\\Users\\jcarty\\Desktop\\imageTest.jpg", width = 13, height = 8.5
, startRow = 11, startCol = 2, units = "cm", dpi = 96)
wb %>%
saveWorkbook("M:\\imageTest.xlsx", overwrite = TRUE)
wb <- openxlsx::loadWorkbook("M:\\imageTest.xlsx")
wb %>%
insertImage("01", "C:\\Users\\jcarty\\Desktop\\imageTest2.jpg", width = 13, height = 8.5
, startRow = 27, startCol = 2, units = "cm", dpi = 96)
wb %>%
saveWorkbook("M:\\imageTest.xlsx", overwrite = TRUE)
person
John Carty
schedule
02.12.2019
У меня такая же проблема, когда я пытаюсь вставить более двух изображений на один лист. По-видимому, это известная проблема в пакете: https://github.com/awalker89/openxlsx/issues/373.
Это не лучшее решение, но единственное, что вы можете сделать, - это вставить изображения в отдельные листы, а затем при желании вручную объединить листы.
Если вы определите номер фигуры, вы можете сделать что-то вроде этого:
fignum <- 1
# Set current sheet name
# For uneven figure numbers
if ((fignum %% 2) != 0) {
# Set plot name to current number
current_sheetname <- paste0("plot_", fignum)
# For even figure numbers
} else {
# Set plot name to previous number
current_sheetname <- paste0("plot_", fignum - 1)
}
# Check if the current worksheet name doesn't exist yet
if (!(current_sheetname %in% names(wb))) {
# Create new worksheet
openxlsx::addWorksheet(wb = wb,
sheetName = current_sheetname)
}
# Write figure to new worksheet
openxlsx::insertImage(wb = wb,
sheet = current_sheetname,
file = img1)
person
Eefje Poppelaars
schedule
23.11.2020
insertImage("01", img1, width = 13, height = 8.5, startRow = 11, startCol = 2, units = "cm", dpi = 96)
. Все это часть 96-строчного кода, написанного для итерации шаблона Excel по нескольким сотням строк информации. - person Martín Rosas Araya   schedule 02.12.2019