- [DEVEXPRESS] Chia sẻ source code cách tạo biểu đồ sơ đồ tổ chức công ty Org Chart trên Winform C#
- [C#] Hướng dẫn tạo Auto Number trên Datagridview winform
- [DATABASE] Hướng dẫn tạo Procedure String Split in Mysql
- [C#] Thiết lập dấu (,) hay dấu (.) ở định dạng số đúng với định dạng số Việt Nam
- [C#] Chia sẻ source code Game Spin Lucky Wheel
- [C#] Hướng dẫn Encode and Decode HTML
- Danh sách tài khoản ChatGPT miễn phí - Hướng dẫn tạo tài khoản Chat Open AI GPT tại Việt Nam
- [C#] Hướng dẫn thay đổi giao diện ứng dụng Winform theo giao diện của Windows
- [VB.NET] Hiệu ứng Acrylic, Mica, Tabbed Blur Effect trên Winform
- [DEVEXPRESS] Hướng dẫn sử dụng HTML Template trên Combobox Edit
- [C#] Chia sẻ source code Orange Rain in Winform
- [DEVEXPRESS] Hướng dẫn sử dụng HTML Template trên XtraMessageBox Winform Devexpress 22.2.3
- [DEVEXPRESS] Hướng dẫn sử dụng HTML and CSS Code Viewer trên Winform
- [C#] Number Effect Counter up and down in winform
- [C#] Hướng dẫn Supend and Resume Process ID in Winform
- [C#] Hiển thị line number trên Richtextbox Winform
- [C#] Fake Blue Screen BSOD in winform
- [C#] Chia sẽ code demo sử dụng Async Parallel Foreach and For in Winform
- [C#] Sử dụng ActionBlock run X task at time winform
- [C#] Hướng dẫn sử dụng Property Grid để lưu và tải lại thông tin cấu hình user trên winform
[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 :)