Chúng ta hãy xem xét ví dụ sau:
Dữ liệu cần đọc là file excel TestTable.xlsx có nội dung như sau:
Bạn cần đăng nhập để thấy đính kèm
Kết quả đọc file bằng ADO rồi ghi ra mảng sẽ bị lỗi như sau:
Bạn cần đăng nhập để thấy đính kèm
Hãy để ý arr(0,0) kỳ vọng là STT nhưng lại nhận là Null.
Với cách giải quyết ở trên, tức là định dạng vùng dữ liệu bằng text bằng tay, thì đọc OK.
Thực tế, nếu chỉ có một file cố định như dữ liệu nguồn, thì còn có thể định dạng bằng tay trước khi chạy. Nhưng nếu công việc là đọc vài trăm file không lẽ lại đi mở từng file ra định dạng.
Cho nên mình khắc phục như sau và OK.
.Properties("Extended Properties") = "Excel 12.0 XML;HDR=No;IMEX=1;"
Vấn đề ở đây là để IMEX = 1 để chương trình đối xử với cả file excel cần đọc như là với text, không tự ý phán đoán linh tinh nữa.
Nguồn tham khảo :
Bạn cần đăng nhập để thấy link