Vấn đề
Có một cách để nhập tệp Excel .xlsx bằng cách sử dụng rxImport(). rxImport() có chức năng ODBC.
Giải pháp
Điều này có thể nếu bạn có thể thiết lập đúng ODBC kết nối chuỗi và nhận truy vấn đúng nhưng nó đã không được kiểm tra. Tôi cần điều tra xem này được hỗ trợ. Bạn có thể kiểm tra xem bạn có thể kết nối và truy vấn bảng tính Excel qua ODBC bên ngoài R? Bạn có thể cung cấp toàn bộ tập lệnh bạn đang chạy cũng như các phiên bản Excel mà bạn đang chạy.
Nếu điều này sẽ không hoạt động với rxImport, thay thế sẽ RODBC gói có trực tiếp hơn Excel/ODBC hỗ trợ. Điều này sẽ đưa bảng tính Excel vào một khung dữ liệu thì có thể được ghi vào tệp XDF.
Đây là một ví dụ chung ngắn để nhập một bảng tính Excel vào tệp .xdf:
sConnectionStr <- "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DriverId=790;Dbq=C:/Data/ODBCTest.xlsx;DefaultDir=c:/Data;" testExcel = "SELECT * FROM [Sheet1$]"
excelDS<- RxOdbcData(sqlQuery = testExcel, connectionString=sConnectionStr)
excelDS_XDF<- RxXdfData("testFromExcel.xdf")
rxImport(excelDS, excelDS_XDF, overwrite=TRUE)