Запишите в существующий лист Excel xlsm-файл с помощью R - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь добавить некоторые данные в xlsm-файл. Добавление нового листа не является проблемой. Я в пределах SQL -Server использую R-in-database (R 3.2.2, CRAN 3.2.5). Мой код с использованием библиотеки XLSX:

declare @filename nvarchar(255) = 'D:/TEMP/Test.xlsm'
declare @ind_script nvarchar(2000) = N'
    Sys.setenv(JAVA_HOME="D:\\OpenJDK")
    library(rJava)  
    library(xlsxjars)   
    library(xlsx)
    file <- "' + @filename + '"
    write.xlsx(
        InputDataSet, 
        file      = file,
        append    = TRUE,
        sheetName = "My_Sheet",
        col.names  = TRUE,
        row.names  = FALSE
        )
    '
exec sp_execute_external_script 
    @language = N'R', 
    @script = @ind_script,  
    @input_data_1 = N'select * from sys.tables'

Этот скрипт добавляет новый лист «my_sheet» в файл Test.xlsm. Выдается ошибка, если лист с таким именем уже существует. Мне нужно добавить данные - т.е. "InputDataSet" - на существующий лист. Как я могу это сделать?

Добавление данных в существующие листы XLS- или XLSX-файлов не является альтернативой. Я также безуспешно проверил openxslx и XLConnect (я даже не мог понять, как там обрабатываются xlsm-файлы).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...