- [DEVEXPRESS] Hướng dẫn bật tính năng Scroll Pixcel in Touch trên GridView
- [DEVEXPRESS] Hướng dẫn sử dụng TileBar viết ứng dụng duyệt hình ảnh Winform
- [DEVEXPRESS] Tô màu border TextEdit trên Winform
- [C#] Lấy dữ liệu từ Console Write hiển thị lên textbox Winform
- [C#] Hiển thị Progress bar trên Window Console
- [C#] Di chuyển control Runtime và lưu layout trên winform
- [SQLSERVER] Sử dụng hàm NULL IF
- [C#] Chia sẽ source code mã đi tuần bằng giao diện Winform
- [C#] Flash Window in Taskbar Winform
- Download và Giải nén tập tin File sử dụng Powershell
- [C#] Hướng dẫn cách lấy thông tin đăng nhập tài khoản và mật khẩu web browser trên windows
- [VB.NET] CRUD Thêm xóa sửa tìm kiếm Realtime FireBase
- [C#] Hiển thị thông báo Toast Message trong lập trình Winform
- [C#] Cấu hình định dạng ngày tháng, thời gian trên Windows cho ứng dụng Winform
- [C#] Rút gọn đường dẫn link url với TinyURL API
- [C#] Hướng dẫn cách bo tròn winform with Radius
- [C#] Chia sẽ class BackGroundOverlay Show Modal cho Winform
- [C#] Hướng dẫn Flip Image Winform
- [C#] Invoke là gì? cách sử dụng phương thức Invoke()
- [C#] Hướng dẫn chia sẽ file, folder từ ứng dụng sang Zalo Chat
[C#] Export dataset to multi work sheet Excel in Csharp
Hi! xin chào các bạn. Hôm nay, mình sẽ hướng dẫn các bạn export dữ liệu từ dataset ra một file excel bao gồm nhiều work sheet bằng C#.
[C#] Export dataset to multi work sheet excel using Close XML in Csharp
Mình ví dụ:
Nếu các bạn có một database gồm nhiều table, bây giờ các bạn muốn xuất các table trong database đó ra file dữ liệu Excel. Mỗi một table là một Sheet.
Mình chia sẽ các bạn sử dụng thư viện Close XML để làm việc đó một cách đơn giản.
Giao diện demo ứng dụng:
Đầu tiên, các bạn cần cài đặt thư viện Close XML từ Nuget vào project của mình.
Các từ giao diện dòng lệnh cài đặt Nuget các bạn gõ lệnh sau:
PM> Install-Package ClosedXML
Lưu ý: các bạn phải chạy Net Framework 4.5.2
Theo ví dụ của mình:
Sẽ xuất dữ liệu ra file excel gồm 3 bảng: Customers, Employee, Catagories.
Mình sử dụng database mẫu Nowthwind, các bạn có thể download database mẫu từ google nhé.
Source code C#:
using System;
using System.Windows.Forms;
using System.IO;
using System.Data;
using System.Reflection;
using ClosedXML.Excel;
using System.Data.SqlClient;
namespace Export_DataTable_Excel
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
DataSet ds = new DataSet();
string constr = "Data Source=.;Initial Catalog=NORTHWND;Integrated Security=True";
string query = "SELECT TOP 10 CustomerId,ContactName,City,Country FROM Customers GO SELECT TOP 5 EmployeeID,(FirstName + + LastName) EmployeeName,City,Country FROM Employees GO SELECT CategoryName, Description FROM dbo.Categories";
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand(query))
{
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.Connection = con;
sda.SelectCommand = cmd;
sda.Fill(ds);
ds.Tables[0].TableName = "Customers";
ds.Tables[1].TableName = "Employees";
ds.Tables[2].TableName = "Categories";
}
}
}
XLWorkbook wb = new XLWorkbook();
for (int i = 0; i < ds.Tables.Count; i++)
{
wb.Worksheets.Add(ds.Tables[i], ds.Tables[i].TableName);
}
string filePath = "";
if (folderBrowserDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
filePath = folderBrowserDialog1.SelectedPath;
}
wb.SaveAs(filePath + "DataGridViewExport.xlsx");
}
}
}
HAVE FUN :)