Chào Mọi Người. Mọi người giúp mình với.
Mình tìm tài liệu cách làm miết mà vẫn chưa biết phải làm thế nào, mong mọi người giúp đỡ rất nhiều. Mình đang rất cần.
Bài Toàn :
1- Trong File Excel : dữ liệu gồm 2 : cột a và cột b.
2- VB : mình muốn lấy dữ liệu từ file Excel vào VB6.0 để tính toán : a + b , a - b ... Trong vb có hiển thị được bảng dữ liệu excel mới nhập.
Xin cảm ơn mọi người.
Lấy Dữ Liệu Từ Excel Vào VB6.0 để Xử Lý
Moderator: tungblt
- gtdcomputer
- Thành viên danh dự
- Posts: 1296
- Joined: Fri 18/07/2008 12:08 pm
- Location: Kiên Giang
- Has thanked: 8 times
- Been thanked: 116 times
- Contact:
Re: Lấy Dữ Liệu Từ Excel Vào VB6.0 để Xử Lý
Ví dụ về đọc dữ liệu từ Excel: https://blogs.msdn.microsoft.com/rahuls ... e-content/
Tóm tắt là thế này:
- Mở một tập tin exel:
- Để đọc 1 ô trong exel thì đọc thế này: xlsWS1.cells(<dòng>, <cột>).Value
- Trường hợp của bạn chỉ có 2 cột thì dùng 1 vòng lặp đơn:
- Sao khi hoàn thành thì đóng workbook và exel lại để giải phóng tài nguyên: - Khi truy xuất với các biến workshet, workbook thì VB sẽ ko tự động hoàn thành hàm như các hàm khác vì mình khai báo là biến Object nên đừng thấy nó ko tự hoàn thành thì nghĩ là nó ko đúng.
Để hiển thị thì bạn có thể vừa đọc, vừa add item vào listview. Hình như có thể feed bằng dataset như mình ko rành lắm :v, trc giờ toàn add thủ công
PS: Kiểm chứng code trc khi áp dụng. Vì lâu rồi m ko đụng vào VB6
Tóm tắt là thế này:
- Mở một tập tin exel:
- Dim xlsApp As Object
- Dim xlsWB1 As Object
- Dim xlsWS1 As Object
- ‘Opening the file to parse now
- Set xlsApp = CreateObject(“Excel.Application”) '---> Tạo một tiến trình exel ngầm
- xlsApp.Visible = False '---> Không hiện ko hiển thị cửa sổ exel đã tạo
- Set xlsWB1 = xlsApp.Workbooks.Open("C\ex.xls") '---> Mở tập tin excel
- Set xlsWS1 = xlsWB1.Worksheets(“Sheet1”) '---> Mở sheet chứa dữ liệu cần lấy.
- Để đọc 1 ô trong exel thì đọc thế này: xlsWS1.cells(<dòng>, <cột>).Value
- Trường hợp của bạn chỉ có 2 cột thì dùng 1 vòng lặp đơn:
- Dim i As Integer = 1
- While Trim(xlsWS1.cells(i, 1).Value) & Trim(xlsWS1.cells(i, 2).Value) <> "" '---> Lặp đến khi cả 2 cell đều rỗng
- Dim a As Integer = Val(xlsWS1.cells(i, 1).Value)
- Dim b As Integer = Val(xlsWS1.cells(i, 2).Value)
- '---------------------------
- 'Do something with your a and b
- i = i + 1
- Wend
- Sao khi hoàn thành thì đóng workbook và exel lại để giải phóng tài nguyên:
- xlsWB1.Close
- xlsApp.Quit
- Set xlsApp = Nothing
- Set xlsWB1 = Nothing
- Set xlsWS1 = Nothing
Để hiển thị thì bạn có thể vừa đọc, vừa add item vào listview. Hình như có thể feed bằng dataset như mình ko rành lắm :v, trc giờ toàn add thủ công
PS: Kiểm chứng code trc khi áp dụng. Vì lâu rồi m ko đụng vào VB6

Con người không quan tâm đến sự thật. Họ tin cái họ muốn, và về sau, cái đó sẽ trở thành sự thật
Re: Lấy Dữ Liệu Từ Excel Vào VB6.0 để Xử Lý
tuyệt vời quá bạn ơi. Cảm ơn bạn rất nhiều. Mình có ý tưởng để viết về bài toán này để phục vụ học tập và công việc của mình rồi.
Để mình thử lại code bạn hướng dẫn thử.
.Mừng quá.
Để hiển thị cơ sở dữ liệu. Nếu add item vào listview có thể nó sẽ hiển thị ko thành bảng, sẽ khó nhìn nếu CSDL lớn. (mình đoán vậy). Mình thấy có tài liệu hướng dẫn kết nối CSDL sử dụng ADO Data Control (cơ mà nó kết nối với Access :d).
He he, mình chỉ biết VB qua việc học mò mẫm nên nhiều thuật ngữ, câu lệnh mình ko hiểu bản chất nó lắm, nên nghiên cứu hơi khó khắn.
.
Để mình thử lại code bạn hướng dẫn thử.

Để hiển thị cơ sở dữ liệu. Nếu add item vào listview có thể nó sẽ hiển thị ko thành bảng, sẽ khó nhìn nếu CSDL lớn. (mình đoán vậy). Mình thấy có tài liệu hướng dẫn kết nối CSDL sử dụng ADO Data Control (cơ mà nó kết nối với Access :d).
He he, mình chỉ biết VB qua việc học mò mẫm nên nhiều thuật ngữ, câu lệnh mình ko hiểu bản chất nó lắm, nên nghiên cứu hơi khó khắn.

Re: Lấy Dữ Liệu Từ Excel Vào VB6.0 để Xử Lý
https://drive.google.com/file/d/0B64bhA ... sp=sharing
Mình gửi mn file tài liệu mình thấy VB hay vè kết nối CSDL với VB (kết nối Access).
Mình gửi mn file tài liệu mình thấy VB hay vè kết nối CSDL với VB (kết nối Access).