Trong trường hợp kích thước dữ liệu nhỏ, R có nhiều gói và chức năng có thể được sử dụng theo yêu cầu của bạn.
write.xlsx, write.xlsx2, XLconnect cũng thực hiện công việc nhưng chúng đôi khi chậm so với openxlsx .
Vì vậy, nếu bạn đang xử lý các tập dữ liệu lớn và gặp lỗi java. Tôi muốn đề nghị có một cái nhìn về "openxlsx" thực sự tuyệt vời và giảm thời gian xuống còn .
Tôi đã thử nghiệm tất cả và cuối cùng tôi thực sự ấn tượng với hiệu suất của các khả năng openxlsx.
Dưới đây là các bước để ghi nhiều bộ dữ liệu thành nhiều trang tính.
install.packages("openxlsx")
library("openxlsx")
start.time <- Sys.time()
x <- as.data.frame(matrix(1:4000000,200000,20))
y <- as.data.frame(matrix(1:4000000,200000,20))
z <- as.data.frame(matrix(1:4000000,200000,20))
wb <- createWorkbook("Example.xlsx")
Sys.setenv("R_ZIPCMD" = "C:/Rtools/bin/zip.exe")
Sys.setenv ("R_ZIPCMD" = "C: /Rtools/bin/zip.exe") phải tĩnh vì nó tham chiếu đến một số tiện ích từ Rtools.
Lưu ý: Trong trường hợp Rtools chưa được cài đặt trên hệ thống của bạn, vui lòng cài đặt nó trước để trải nghiệm mượt mà. Đây là liên kết để bạn tham khảo: (chọn phiên bản thích hợp)
https://cran.r-project.org/bin/windows/Rtools/
kiểm tra các tùy chọn theo liên kết bên dưới (cần chọn tất cả hộp kiểm trong khi cài đặt)
https://cloud.githubusercontent.com/assets/7400673/12230758/99fb2202-b8a6-11e5-82e6-836159440831.png
addWorksheet(wb, "Sheet 1")
addWorksheet(wb, "Sheet 2")
addWorksheet(wb, "Sheet 3")
writeData(wb, 1, x)
writeData(wb, 2, x = y, withFilter = TRUE)
writeDataTable(wb, 3, z)
saveWorkbook(wb, file = "Example.xlsx", overwrite = TRUE)
end.time <- Sys.time()
time.taken <- end.time - start.time
time.taken
openxlsxGói thực sự tốt để đọc và ghi dữ liệu khổng lồ từ / trong các tệp excel và có rất nhiều tùy chọn để định dạng tùy chỉnh trong excel.
Thực tế thú vị là chúng ta không phải bận tâm về bộ nhớ heap của java ở đây.
createSheet
chức năng, cho phép bạn tạo các trang tính mới, sau đó ghi vào chúng, trong một vòng lặp. Ngoài ra, các chức năng tương đương trong XLConnect được vector hóa, cho phép ghi danh sách các khung dữ liệu vào nhiều trang tính.