Я пытаюсь сохранить книгу Excel из Rstudio, в которую были добавлены новые данные. Я сохраняю их с помощью библиотеки saveworkbook
из openxlsx
, но выдает следующую ошибку:
Ошибка в zip_internal (zipfile, файлы, recurse ,ression_level, append = FALSE,: ошибка zip: Cannot add file
[Content_Types]. xmlto archive
file383c1b9b6cc7.xlsx`` в файле zip.c:394
Для получения дополнительной информации о файле Excel его размер составляет около 28Mb
.
Когда я впервые открыл файл в Excel 2007, программа сообщила, что не может прочитать файл , после того, как Excel удалось исправить файл, его резюме было:
удалена часть /xl/comments1.xml часть с ошибкой xml. (комментарии) ошибка загрузки
Я не знаю, было ли это исправлением Excel 2007, вызвавшим ошибку, которую мне дает Rstudio, zip_internal
.
Также файл использует формулы Excel для извлечения информации о других страницах другим.
Способствует ли связь между информацией на разных страницах эта ошибка?
Ниже приведен код того, как я реализую программу.
library(pdftools)
library(dplyr)
library(openxlsx)
#For smartbind
library(gtools)
#load exel file
old_data<- readWorkbook("Recon Metro Fuels JR B VN Ene 2019 V2.xlsx", sheet = "Raw BAC VN CON FIREFOX");
#bind the new data into old data
new_data<-smartbind(old_data, pdf_refined);
# Write updated data frame to existing worksheet
wb<- loadWorkbook("Recon Metro Fuels JR B VN Ene 2019 V2.xlsx")
writeData(wb, sheet = "Raw BAC VN CON FIREFOX", new_data)
# Save file (with new name for testing purposes)
saveWorkbook(wb, "Recon Metro Fuels JR B VN Ene 2019 V2.xlsx", overwrite = TRUE)
- В конце
wb
заканчивается как object containing active binding
. - При запуске
head(new_data)
и attributes(new_data)
после применения data.frame(new_data)
это дает:
Column class mismatch for 'Monto.Original'. Converting column to class 'character'.Column class mismatch for 'Monto.en.Banco'. Converting column to class 'character'.Column class mismatch for 'Fecha'. Converting column to class 'character'.Column class mismatch for 'Monto.Original'. Converting column to class 'character'.Column class mismatch for 'Monto.en.Banco'. Converting column to class 'character'.$names
[1] "X1" "Fecha" "Monto.Original" "Monto.en.Banco" "X5"
$row.names
[1] "1:1" "1:2" "1:3" "1:4" "1:5" "1:6" "1:7" "1:8" "1:9" "1:10"
[11] "1:11" "1:12" "1:13" "1:14" "1:15" "1:16" "1:17" "1:18" "1:19" "1:20"
[21] "1:21" "1:22" "1:23" "1:24" "1:25" "1:26" "1:27" "1:28" "1:29" "1:30"
[31] "1:31" "1:32" "1:33" "1:34" "1:35" "1:36" "1:37" "1:38" "1:39" "1:40"
[41] "1:41" "1:42" "1:43" "1:44" "1:45" "1:46" "1:47" "1:48" "1:49" "1:50"
[51] "1:51" "1:52" "1:53" "1:54" "1:55" "1:56" "1:57" "1:58" "1:59" "1:60"
[61] "1:61" "1:62" "1:63" "1:64" "1:65" "1:66" "1:67" "1:68" "1:69" "1:70"
[71] "1:71" "1:72" "1:73" "1:74" "1:75" "1:76" "1:77" "1:78" "1:79" "1:80"
[81] "1:81" "1:82" "1:83" "1:84" "1:85" "1:86" "1:87" "1:88" "1:89" "1:90"
[ reached getOption("max.print") -- omitted 802 entries ]
$class
[1] "data.frame"