openxlsx не умеет читать из .xlsx файла в R

Я пытаюсь прочитать значение из файла .xlsx используя пакет openxlsx в R Простыми словами, мне нужно написать строку данных, которая затем заполняет некоторую выходную ячейку, которая должна быть прочитана в R. Я расскажу о примере, чтобы лучше объяснить проблему.

Начальное состояние файла .xlsx :

введите описание изображения здесь

Теперь я пытаюсь записать новые значения в ячейку: A2: A3 = c ("c", 5). В идеале я ожидаю, что A6 = 15

Ниже приведен код:

 require(openxlsx) path <- "C:/path_to_file/for_SO1.xlsx" input_row <- c("c", 5) # Load workbook; create if not existing wb <- loadWorkbook(path) # createSheet(wb, name = "1") writeData(wb, sheet = "Sheet1", x = data.frame(input_row), startCol=1, startRow=1 ) data_IM <- read.xlsx(wb, sheet = "Sheet1", rows = c(5,6), cols = c(1)) # Save workbook saveWorkbook(wb, file = path, overwrite = TRUE) #> data_IM # output_row #1 3 

Но я получаю значение (3). Однако, если я открываю файл .xlsx , я могу видеть 15 проживающих там:

введите описание изображения здесь

Что может быть причиной того, что вы не можете прочитать эту ячейку? Я попытался сохранить его после записи в файл и снова прочитать его, но даже это не удалось. openxlsx – единственный вариант, из-за ошибок JAVA от XLConnect и т. д.

 ?read.xlsx 

Формулы, написанные с использованием writeFormula для объекта Workbook, не будут восприняты read.xlsx (). Это связано с тем, что только формула написана и оставлена ​​для оценки при открытии файла в Excel. Открытие, сохранение и закрытие файла с помощью Excel разрешит это.

Поэтому файл нужно открыть в Excel, а затем сохранить, я могу проверить, что это работает. Однако это может быть вам не подходит.

Кажется, что XLConnect имеет желаемую функциональность

 # rjava can run out of memory sometimes, this can help. options(java.parameters = "-Xmx1G") library(XLConnect) file_path = "test.xlsx" input_row <- c("c", 5) wb <- loadWorkbook(file_path, create=F) writeWorksheet(wb, 1, startRow = 1, startCol = 1, data = data.frame(input_row)) setForceFormulaRecalculation(wb, 1, TRUE) saveWorkbook(wb) # checking wb <- loadWorkbook(file_path, create=F) readWorksheet(wb, 1) 
  • Как скопировать предварительно сгенерированный файл csv в xlsx с помощью c #
  • Как открыть .xlsx-файлы в Android?
  • Excel - удалить все строки «один-к-одному» между двумя столбцами
  • Использование Open Xml для создания файла xlsx для Excel 2013
  • почему я получаю сообщение об ошибке
  • Атрибут «Last modified by» (имя пользователя, а не время) для xlsx с использованием Python
  • Проблемы с использованием пакета xlsx для вставки данных из R в excel
  • Как читать файл xlsx в приложении Android?
  • Как читать флажок с Apache POI в java из файла .xlsx
  • openpyxl как переключить лист по умолчанию
  • Как добавить новую строку в функцию xlsxwritter merge_range в python?
  • Давайте будем гением компьютера.