У меня есть кадр данных, как показано ниже. Затем я конвертирую фрейм данных в таблицу html.
# Use RDCOMClient to send email from outlook
library(RDCOMClient)
# Use xtable to convert dataframe into html table
library(xtable)
# Create dataframe
df <- as.data.frame(mtcars[1:3,1:3])
# Create HTML object
df_html <- xtable(df)
Теперь я отправляю электронное письмо из Outlook, используя замечательное решение, указанное в ветке электронной почты Отправка электронной почты в R через Outlook
## init com api
OutApp <- COMCreate("Outlook.Application")
## create an email
outMail = OutApp$CreateItem(0)
## configure email parameter
outMail[["To"]] = "[email protected]"
outMail[["subject"]] = "some subject"
outMail[["body"]] = df_html
## send it
outMail$Send()
Для тела моего электронного письма мне нужен фрейм данных df, который я хочу прикрепить в виде таблицы html. Когда я выполняю приведенный выше код, я получаю сообщение об ошибке ниже.
Error in `[[<-`(`*tmp*`, "body", value = list(mpg = c(21, 21, 22.8), cyl = c(6, :
Can't attach the RDCOMServer package needed to create a generic COM object
In addition: Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, :
there is no package called ‘RDCOMServer’
Когда я меняю строку outMail[["body"]] = df_html
на outMail[["body"]] = paste0(df_html)
, я получаю электронное письмо, но вывод не появляется в виде таблицы. Это происходит, как показано ниже в моем прогнозе.
c(21, 21, 22.8), c(6, 6, 4), c(160, 160, 108)
Я хочу, чтобы это был стол. Как я могу достичь этого? Спасибо!