intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Import từ Excel sang Visual Basic

Chia sẻ: Abcdef_45 Abcdef_45 | Ngày: | Loại File: PDF | Số trang:4

494
lượt xem
35
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Cách thực hiện: 1. Tạo project VB mới. 2. Tham chiếu (Reference) thư viện Excel (Microsoft Excel Object Library). 3. Soạn code với thuật toán: - Tạo đối tượng Excel.Application. - Mở Workbook (file excel) của bạn. - Lấy sheet chứa dữ liệu. - Đặt biến I (Long) chạy từ dòng đầu tiên của sheet đến dòng dữ liệu cuối cùng của sheet. Tại mỗi bước dùng lệnh SQL Insert hoặc Recordset.AddNew để thêm dữ liệu vào bảng dữ liệu (Đưa giá trị tại Cells(I,"tên cột") vào Field tương ứng trong bảng. Lưu ý định dạng ngày tháng, nếu...

Chủ đề:
Lưu

Nội dung Text: Import từ Excel sang Visual Basic

  1. Import từ Excel sang Visual Basic Cách thực hiện: 1. Tạo project VB mới. 2. Tham chiếu (Reference) thư viện Excel (Microsoft Excel Object Library). 3. Soạn code với thuật toán: - Tạo đối tượng Excel.Application. - Mở Workbook (file excel) của bạn. - Lấy sheet chứa dữ liệu. - Đặt biến I (Long) chạy từ d òng đầu tiên của sheet đến dòng dữ liệu cuối c ùng của sheet. Tại mỗi bước dùng lệnh SQL Insert hoặc Recordset.AddNew để thêm dữ liệu vào bảng dữ liệu (Đưa giá trị tại Cells(I,"tên cột") vào Field tương ứng trong bảng. Lưu ý định dạng ngày tháng, nếu bạn dùng định dạng ngày trong Excel thì không sao, còn nếu dùng các định dạng ngày đặc biệt (khác với định dạng của hệ thống) thì phải xử lý lại (dùng hàm DateSerial c ủa VB để tạo giá trị ngày từ giá trị chuỗi ngày lưu trong Excel). Lưu ý thêm về chiều dài của các trường dữ liệu, import từ Excel vào database rất hay gặp trường hợp chiều dài dữ liệu trong Excel lớn h ơn kích thước định nghĩa của trường, gây ra lỗi khi cập nhật.
  2. - Đóng workbook, thoát Excel. Ví dụ (chỉ là mẫu vì bạn không đưa rõ nguồn dữ liệu): Giả sử bạn có file Excel: C:\data.xls với bảng dữ liệu nằm ở sheet đầu tiên, cấu trúc bảng dữ liệu: dòng đầu tiên là tiêu đề, dữ liệu nằm từ dòng thứ 2 trở xuống, kết thúc dữ liệu bằng dòng trống (cột đầu tiên rỗng). Các cột dữ liệu theo bảng tương ứng: + ngày tháng (c ột A) + Mã Sản phẩm (cột B) + Khách Hàng (c ột C) + Số lượng sản phẩm (cột D) + Hạn giao hàng (cột E) Giả sử tên bảng dữ liệu trong CSDL tên là: tblData Private Sub Import() Dim mExcel As Excel.Application Dim mWorkBook As Excel.Workbook Dim mSheet As Excel.Worksheet Dim I As Long
  3. Dim mRs As ADODB.Recordset Set mExcel = New Excel.Application Set mWorkBook = mExcel.Workbooks.Open("C:\data.xls", , True) Set mSheet = mWorkBook.Worksheets(1) '-- Set mRs = New ADODB.Recordset mRs.Open "tblData", mCnn, adOpenKeyset, adLockOptimistic I=2 While Len(mSheet.Cells(I, "A")) > 0 mRs.AddNew mRs.Fields("NgayThang") = CDate(mSheet.Cells(I, "A")) mRs.Fields("MaSanPham") = mSheet.Cells(I, "B") mRs.Fields("KhachHang") = mSheet.Cells(I, "C") mRs.Fields("SoLuong") = Val(mSheet.Cells(I, "D")) mRs.Fields("HanGiaoHang") = Val(mSheet.Cells(I, "E")) mRs.Update
  4. '-- I=I+1 Wend mWorkBook.Close False mExcel.Quit mRs.Close Set mRs = Nothing End Sub Nguồn: ddth.com
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2