tôi tìm thấy một số tài liệu trên trang web của Microsoft áp dụng cho kịch bản của mình. Họ khuyên bạn nên chuyển đổi tất cả các số học thành chuỗi.
http://support.microsoft.com/kb/257819
Như đã trình bày ở trên, ADO phải đoán ở kiểu dữ liệu cho mỗi cột trong bảng tính Excel của bạn hoặc phạm vi. (Điều này không bị ảnh hưởng bởi cài đặt định dạng ô Excel.) Một vấn đề nghiêm trọng có thể phát sinh nếu bạn có giá trị số được trộn với giá trị văn bản trong cùng một cột. Cả Jet và ODBC Provider đều trả về dữ liệu của kiểu đa số, nhưng trả về giá trị NULL (trống) cho kiểu dữ liệu thiểu số. Nếu hai loại được trộn lẫn nhau trong cột, nhà cung cấp chọn số trên văn bản.
Ví dụ:
* In your eight (8) scanned rows, if the column contains five (5) numeric values and three (3) text values, the provider returns five (5) numbers and three (3) null values.
* In your eight (8) scanned rows, if the column contains three (3) numeric values and five (5) text values, the provider returns three (3) null values and five (5) text values.
* In your eight (8) scanned rows, if the column contains four (4) numeric values and four (4) text values, the provider returns four (4) numbers and four (4) null values.
Tôi đã thêm 'IMEX = 1' để thực thi chế độ văn bản (tôi cần truy xuất ô này dưới dạng văn bản không phải dạng số) nhưng không giúp được gì. Không thể nhập lại giá trị ở chế độ văn bản vì có nhiều giá trị trong số đó. Có thể tự động hóa nó bằng cách nào đó không? – flashnik
Nếu bạn thử đề xuất này bằng cách sử dụng truy vấn thay vì tên bảng/bảng trực tiếp thì sao? Hạn chế nhẹ là tất cả các cột đi qua như chuỗi sau đó. http://munishbansal.wordpress.com/2009/12/15/importing-data-from-excel-having-mixed-data-types-in-a-column-ssis/ – jdot