#r #excel
#r #excel
Вопрос:
Я играл с обоими XLConnect
и openxlsx
пытался решить сложную проблему. У меня есть несколько файлов xlsx, созданных пользователями. Форматирование и макет очень специфичны для Excel, и мне не нужно загружать данные в виде фрейма данных. Мне нужно извлечь данные из каждого файла в формате Excel, объединить их и записать как xlsx с несколькими вкладками.
Пример файла, все они выглядят почти одинаково, за исключением того, что имена листов разные.
Я не могу вставить изображение данных, но, допустим, есть 10 файлов xlsx, все почти одинаковые, за исключением некоторых числовых различий. Мне нужно сохранить все выделенные жирным шрифтом ячейки, подчеркивания, границы, заливку и цвета шрифта. Если я загружу книгу, я смогу увидеть элементы стиля, str(wb$styleObjects)
. Но я не могу понять, как применить их к необработанному фрейму данных. Или как извлечь объект рабочего листа из книги и добавить его в новую книгу.
wbs <- list()
for (i in seq_along(files)) {
wbs[[i]] <- XLConnect::loadWorkbook(fls.req[i])
}
В результате создается список объектов книги XLConnect. Как я могу записать все это в одну книгу? Я пытался загрузить их в виде листов, но это превращает данные во фреймы данных, и я теряю все форматирование.
Спасибо!
Комментарии:
1. Я думаю, что пакет openxlsx действительно предлагает способы сохранения форматирования и добавления нескольких файлов / таблиц в качестве новых листов в один файл.
2. Было бы полезно, если бы вы могли предоставить некоторые примеры данных для работы вместе с ожидаемым результатом, который вы хотите.
3. Для ввода данных используйте любой лист формата xlsx с множеством вариантов форматирования… выделенные жирным шрифтом ячейки, подчеркивания, границы и т. Д. Я хочу прочитать кучу из них и записать их в новый xlsx в виде отдельных вкладок без изменений. Я уверен, что мог бы сделать это в VBA, но я бы предпочел найти R-решение, если смогу. loadWorkbook работает, если я загружаю файл, а затем сохраняю workbook, форматирование не изменяется. Но попытка объединить несколько книг в одну оказалась сложной.