02/10/2018, 00:03

Hướng dẫn viết Add-in Excel load database bằng Csharp

Hôm nay, mình xin hướng dẫn các bạn viết add-in cho Excel sử dụng template Office Tool for Visual Studio . Đầu tiên, để viết được add-in Excel trong C# hay VB.NET , các bạn cần cài đặt bộ template Office Tool For Visual Sutdio. Các bạn có thể click vào ...

Hôm nay, mình xin hướng dẫn các bạn viết add-in cho Excel sử dụng template Office Tool for Visual Studio. Đầu tiên, để viết được add-in Excel trong C# hay VB.NET, các bạn cần cài đặt bộ template Office Tool For Visual Sutdio. 

Các bạn có thể click vào đường link bên dưới để download template về:

Link download Office Tool for Visual Studio

Sau khi, các bạn cài đặt xong sẽ có được template như hình bên dưới:

Viết add-in Excel bằng csharp, vb.net

Dưới đây là demo ứng dụng của mình:

Sau đây, mình xin hướng dẫn các bạn viết nút load data:

- Đầu tiên chúng ta cần import thư viện Excel và Sql vào.

using Microsoft.Office.Interop.Excel;
using System.Runtime.InteropServices;
using System.Data.SqlClient;
using data = System.Data; 

- Khai báo biến con để kết nối với cơ sở dữ liệu sql server.

static SqlConnection cnnx = new SqlConnection(@"Server=.;Database=Test;Trusted_Connection=True;");

- Viết một sub loaddata(). để đổ cơ sở dữ liệu vào datatable.

public data.DataTable getdata()
 {
            data.DataTable DATA = new data.DataTable();
            string SQL = " Select * from tbl_students ";
            SqlDataAdapter dat = new SqlDataAdapter(SQL, cnnx);
            dat.Fill(DATA);
            return DATA;
 }

- Và cuối cùng, là viết hàm cho sự kiện Click vào button loaddata().

private void button1_Click(object sender, RibbonControlEventArgs e)
 {
            Application app = (Application)Marshal.GetActiveObject("Excel.Application");
            Workbook wrk = app.ActiveWorkbook;
            Worksheet wrksh = wrk.Sheets[1];
            wrksh.Cells[1, 1] = "Mã SV";
            wrksh.Cells[1, 2] = "Tên SV";
            wrksh.Cells[1, 3] = "Địa chỉ";
            wrksh.Cells[1, 4] = "Điện thoại";
            wrksh.Cells[1, 5] = "E-mail";
            data.DataTable liste = getdata();
            if (liste.Rows.Count > 0)
            {
                for (int i = 0; i < liste.Rows.Count; i++)
                {
                    wrksh.Cells[i + 2, 1] = liste.Rows[i].ItemArray[0].ToString();
                    wrksh.Cells[i + 2, 2] = liste.Rows[i].ItemArray[1].ToString();
                    wrksh.Cells[i + 2, 3] = liste.Rows[i].ItemArray[2].ToString();
                    wrksh.Cells[i + 2, 4] = liste.Rows[i].ItemArray[3].ToString();
                    wrksh.Cells[i + 2, 5] = liste.Rows[i].ItemArray[4].ToString();
                }
            }
  }

- Vậy là mình đã hoàn thành viết một add-in Excel cơ bản. Để thuận tiện cho các bạn, mình có quay video bên dưới để cho các bạn dễ lập trình.

Chúc các bạn thành công. Hãy Like và Share để ủng hộ chúng mình

Download project

Tags: exceldatatabledataset
0