KetcauSoft


Đăng trả lời 
 
Đánh giá chủ đề:
  • 1 Votes - 4 Average
  • 1
  • 2
  • 3
  • 4
  • 5
VB .NET - Xuất dữ liệu ra file Excel
10-26-2012, 03:56 PM
Bài viết: #1
VB .NET - Xuất dữ liệu ra file Excel
Chúng ta cần thiết phải thực hiện thao tác xuất dữ liệu ra file excel khi muốn xuất kết quả tính toán từ phần mềm ra bảng tính - vì đây mới chính là sản phẩm mà người sử dụng mong muốn.
Việc xuất kết quả ra file (*.xls) có thể thực hiện được bằng phương thức Late Binding được sử dụng tương đối phổ biến. Bài viết này sẽ hướng dẫn chúng ta thực hiện một project đơn giản xuất dữ liệu ra file *.xls

Project mẫu có thể download tại đây: download

Phần I. Chuẩn bị về dữ liệu
Chúng ta không hoàn toàn tạo hẳn một file (*.xls) mới để xuất dữ liệu, việc làm này sẽ có hai nhược điểm sau:
  • Mất một khối lượng công việc lớn để thực hiện trình bày file (*.xls) theo mong muốn
  • Người dùng không can thiệp được hình thức sản phẩm
Chúng ta sẽ xây dựng trước 1 file Form.xls với các định dạng mong muốn, lưu vào cùng thư mục với file phần mềm của chúng ta (với mục đích xác định đường dẫn). Khi cần xuất dữ liệu, phần mềm sẽ mở file này ra và điền các thông tin cần thiết vào các vị trí biết trước. Cách này cho phép người dùng cũng có thể can thiệp file mẫu này. File mẫu Form.xls có hình thức như dưới đây:

[Hình: 01FileExcel.png]

Công ty TNHH Kết Cấu WEFLY - http://www.wefly-str.com

[Hình: p2015102801.png]
Tham quan website của thành viên này Tìm tất cả bài viết của thành viên này
Trích dẫn bài viết này trong bài trả lời
 Thanks given by: brwuvozzdtyb , zizxekukmine , qqjafyos73 , cjcbhvrbmpym , Leeannajare , EdwardEi , normMr , VaRd , marcuscj11
10-26-2012, 04:39 PM
Bài viết: #2
RE: VB .NET - Xuất dữ liệu ra file Excel
Phần 2: Triển khai project
Xây dựng project gồm 1 form mang tên frmMain.vb và 1 modul mang tên molMain.vb,

Giao diện của frmMain gồm có các label thể hiện, 2 textbox là txtA và txtB, 1 button có tên butExcel, hình thức như sau:

[Hình: 03Giaodien.png]


Trong molMain, chúng ta xây dựng các hàm SetValue() và Return_App_Path()

[Hình: 04molMain.png]

Hàm Return_App_Path() dùng để lấy đường dẫn của file phần mềm, qua đó sẽ biết đường dẫn của file Form.xls

Hàm SetValue() được dùng để nhập giá trị cho 1 ô trong Excel, ví dụ ô "A1" thì Column_Label có giá trị là A và Row_Num = 1, tSheet là sheet cần nhập và tValue là giá trị cần nhập

Chúng ta viết lệnh cho butExcel như sau:

[Hình: 05butExcel.png]
  • Dòng số 4 xác định đường dẫn của file mẫu Form.xls
  • Dòng số 5 xác định đường dẫn của file sẽ xuất ra. Khi phát triển các ứng dụng hoàn thiện hơn, chúng ta sẽ cho phép người sử dụng xác định đường dẫn này
  • Dòng số 6 copy file mẫu sang file đích mà chúng ta sẽ xuất ra, chúng ta copy vì không muốn tác động trực tiếp lên file mẫu.
  • Dòng số 8, 9, và 23 là việc chuyển thiết lập Region của người dùng về mặc định để xuất dữ liệu, sau khi xuất thì lại chuyển về như cũ cho người dùng (dòng 23). Nếu không thực hiện điều này, quá trình xuất dữ liệu sẽ gặp lỗi trong một số trường hợp.
  • Dòng số 11, 12, 13, và 14 lần lượt khai báo đối tượng ExcelApp, mờ file đích, và khai báo biến xlWorkSheet bằng Sheet1 của file đích.
  • Dòng 16 và 17 thực hiện nhập dữ liệu cho 2 ô F3 và F4 trong Sheet1 của file đích
  • Dòng 19, 20, 21 tiến hành lưu file và đóng ExcelApp.

Kết quả sau khi chạy phần mềm:

[Hình: 02Ketqua.png]

Công ty TNHH Kết Cấu WEFLY - http://www.wefly-str.com

[Hình: p2015102801.png]
Tham quan website của thành viên này Tìm tất cả bài viết của thành viên này
Trích dẫn bài viết này trong bài trả lời
 Thanks given by: sonfa , hitman86hp , brwuvozzdtyb , yqagkktt44 , DarrenOr , imeldaue3 , nelliext69 , kirstenjd60
11-19-2012, 09:19 AM (Bài viết đã được chỉnh sửa: 11-19-2012 09:22 AM bởi xdbk07.)
Bài viết: #3
RE: VB .NET - Xuất dữ liệu ra file Excel
Chào anh H,

Để kết nối bằng phương thức này ta cần reference những thư viện gì.
Em muốn xuất tất cả dữ liệu trong datagridview ra một file có sẵn thì làm thế nào vậy a.
Thanks,
Tìm tất cả bài viết của thành viên này
Trích dẫn bài viết này trong bài trả lời
 Thanks given by: edycampflwxs , DarrenOr , ewiyaluf , EdwardEi , SxhartJek , juanitajt1 , goldieoq11 , anthonyfh4 , brianatm18
11-19-2012, 12:36 PM
Bài viết: #4
RE: VB .NET - Xuất dữ liệu ra file Excel
(11-19-2012 09:19 AM)xdbk07 Đã viết:  Chào anh H,

Để kết nối bằng phương thức này ta cần reference những thư viện gì.
Em muốn xuất tất cả dữ liệu trong datagridview ra một file có sẵn thì làm thế nào vậy a.
Thanks,
.
Đây là phương thức late binding nên không cần reference thư viện nào cả.
Việc xuất dữ liệu trong Datagridview theo mình là lần lượt duyệt qua các cell và ghi vào trong excel thôi.
Tham quan website của thành viên này Tìm tất cả bài viết của thành viên này
Trích dẫn bài viết này trong bài trả lời
 Thanks given by: brwuvozzdtyb , zizxekukmine , cjcbhvrbmpym , imeldaue3 , lizzieti3 , inavized , epaobefi
03-29-2013, 03:21 PM
Bài viết: #5
RE: VB .NET - Xuất dữ liệu ra file Excel
(11-19-2012 12:36 PM)Ho Viet Hung Đã viết:  
(11-19-2012 09:19 AM)xdbk07 Đã viết:  Chào anh H,

Để kết nối bằng phương thức này ta cần reference những thư viện gì.
Em muốn xuất tất cả dữ liệu trong datagridview ra một file có sẵn thì làm thế nào vậy a.
Thanks,
.
Đây là phương thức late binding nên không cần reference thư viện nào cả.
Việc xuất dữ liệu trong Datagridview theo mình là lần lượt duyệt qua các cell và ghi vào trong excel thôi.
anh ơi cho em hỏi anh dùng vs 2010 à. 2005 có dùng được code này ko ạ. e thử ko được. thanks anh nhiều. Cho em hỏi thêm muốn import một file exel vào access bằng vb.net thì làm thế nào ạ. mong anh giúp đỡ. thanks a nhiều
Tìm tất cả bài viết của thành viên này
Trích dẫn bài viết này trong bài trả lời
 Thanks given by: cjcbhvrbmpym , brwuvozzdtyb , oudeseitioro , normMr , yolandaut1 , justinewn11 , bethyt1 , jordanji60 , inavized , BoNiiDeLd
04-21-2013, 04:02 PM (Bài viết đã được chỉnh sửa: 04-21-2013 05:07 PM bởi Ho Viet Hung.)
Bài viết: #6
RE: VB .NET - Xuất dữ liệu ra file Excel
E làm nó toàn báo lỗi thế này a ak.


[Hình: 33a1f253136449bffcf7d8216b290334_55005586.1.png]
Tìm tất cả bài viết của thành viên này
Trích dẫn bài viết này trong bài trả lời
 Thanks given by: brwuvozzdtyb , osshgxoksuiz , MarvinBut , uzahapekaxoaa , janelleiv1 , ovahiene
04-21-2013, 05:13 PM
Bài viết: #7
RE: VB .NET - Xuất dữ liệu ra file Excel
(04-21-2013 04:02 PM)travinh Đã viết:  E làm nó toàn báo lỗi thế này a ak.


[Hình: 33a1f253136449bffcf7d8216b290334_55005586.1.png]
.
Chào bạn
Lỗi này báo là file đã tồn tại,
Bạn sửa dòng lệnh đang báo lỗi từ

Trích dẫn:System.IO.File.Copy(Source_File, Export_File)

thành

Trích dẫn:System.IO.File.Copy(Source_File, Export_File, True)

nhé,

Tham số True cho phép copy file với phương thức overwrite
Tham quan website của thành viên này Tìm tất cả bài viết của thành viên này
Trích dẫn bài viết này trong bài trả lời
 Thanks given by: brwuvozzdtyb , zizxekukmine , DarrenOr , Kelvinml , Husecyscounse , milagrosxp11
04-22-2013, 08:01 AM
Bài viết: #8
RE: VB .NET - Xuất dữ liệu ra file Excel
Em làm không báo lỗi nữa nhưng nó vẫn không in ra kq anh ak.


Tệp đính kèm
.rar  Xuat EXcel.rar (Kích cỡ: 505.67 KB / Tải về: 653)
Tìm tất cả bài viết của thành viên này
Trích dẫn bài viết này trong bài trả lời
 Thanks given by: stvnuwzjkkty , DarrenOr , ManuelKilm , eyaqakicoh , uzahapekaxoaa , DennisTew , armandoht60 , orarq69
04-22-2013, 08:11 AM
Bài viết: #9
RE: VB .NET - Xuất dữ liệu ra file Excel
(04-22-2013 08:01 AM)travinh Đã viết:  Em làm không báo lỗi nữa nhưng nó vẫn không in ra kq anh ak.
.
Không ra kết quả là không ra gì hả bạn?
Mình đã down và chạy thử project của bạn và thấy rằng phần mềm đã xuất dữ liệu ra file một cách bình thường.
Tham quan website của thành viên này Tìm tất cả bài viết của thành viên này
Trích dẫn bài viết này trong bài trả lời
 Thanks given by: stvnuwzjkkty , cjcbhvrbmpym , MarvinBut , Popiknar , KozelhKr
04-22-2013, 09:25 AM
Bài viết: #10
RE: VB .NET - Xuất dữ liệu ra file Excel
(04-22-2013 08:11 AM)Ho Viet Hung Đã viết:  
(04-22-2013 08:01 AM)travinh Đã viết:  Em làm không báo lỗi nữa nhưng nó vẫn không in ra kq anh ak.
.
Không ra kết quả là không ra gì hả bạn?
Mình đã down và chạy thử project của bạn và thấy rằng phần mềm đã xuất dữ liệu ra file một cách bình thường.
Nó không tự động mở file excel ra anh ạ.
Với lại nó cũng không lưu vào file Form trong Debug nữa
Tìm tất cả bài viết của thành viên này
Trích dẫn bài viết này trong bài trả lời
 Thanks given by: nnfzlorrzvkd , cjcbhvrbmpym , ohiaxetulegi , Kelvinml , benitayb3 , oladozeobe , iovemewov , ecazayu , Livulymn
Đăng trả lời 


Di chuyển nhanh:


Những người đang xem chủ đề này:
1 khách

Trở về đầu trangTrở lên trên