VB .NET - XUẤT DỮ LIỆU RA FILE EXCEL

28/10/2012
15,772

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

I. CHUẨN BỊ 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:

 

II. 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:

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

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:

  • 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:

 

 


Quan tâm Zalo KetcauSoft để theo dõi các bài viết và tài liệu mới