- [C#] Hướng dẫn giải nén file *.rar với tiến trình progress bar winform
- [C#] Chia sẻ source code make Crazy Error Message Effect Bomb Windows
- [C#] Lập trình ứng dụng theo mô hình MVP Model-View-Presenter Pattern Winform
- [C#] Giới thiệu và những thứ hay ho từ thư viện System.Reactive của Microsoft
- [C#] Hướng dẫn tạo ứng dụng Chat với GPT sử dụng Open AI API
- [DEVEXPRESS] Tạo month picker trên DateEdit Winform C#
- [DATABASE] Cách sử dụng và lưu ý khi sử dụng khóa ngoại (Foreign Key) trong Sqlserver
- [C#] Garbage Collector (GC) là gì? Cách giải phóng bộ nhớ trên ứng dụng Winform khi các đối tượng không còn sử dụng
- [C#] Cách tính độ tương phản màu sắc Contrast Color mà con người có thể nhìn thấy được
- [C#] Hướng dẫn mã hóa mật khẩu tài khoản ứng dụng đúng chuẩn Men
- [C#] Sử dụng Open AI Chat GPT viết ứng dụng Count down timer có hiệu ứng trên winform
- [DATABASE] Chia sẻ dữ liệu Pantone Color sql và json api
- [SQLSERVER] Tạo mã sản phẩm tự động như: SP0001, SP0002, SP0003... sử dụng Trigger
- [C#] Hướng dẫn kiểm tra phiên bản NET Framework cài đặt ở máy tính
- [C#] Hướng dẫn đọc file excel đơn giản sử dụng thư viện Epplus
- [C#] ConcurrentBag là gì và cách sử dụng nó trong lập trình bất đồng bộ
- [C#] AutoResetEvent là gì và cách sử dụng
- [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
Import dữ liệu từ Excel và cập nhật lên SQL
Trong bài viết này mình sẽ giới thiệu các bạn cách để Import dữ liệu từ Excel rồi sau đó Insert nhanh chóng những dữ liệu đó lên SQL
Đầu tiên các bạn tạo Table trên SQL như ví dụ sau
Thiết kế file Excel đơn giản như hình sau
Kế tiếp là thiết kế Form như hình bên dưới
Nhớ thêm thư viện:
using System.Data.OleDb;
Tiếp theo là sự kiện của nút Import từ Excel. Để cho đơn giản mình để file Test.xls trong ổ C. Và chú ý là [DanhSach$] là tên của Sheet trong file Excel
DataSet dsTest = new DataSet();
private void btnExcel_Click(object sender, EventArgs e)
{
OleDbConnection olecon = new OleDbConnection();
string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:Test.XLS;Extended Properties=Excel 8.0";
olecon.ConnectionString = strCon;
olecon.Open();
string strSQL = "SELECT * FROM [DanhSach$]";
OleDbDataAdapter oleda = new OleDbDataAdapter(strSQL, olecon);
oleda.Fill(dsTest);
olecon.Close();
dsTest.Tables[0].TableName = "TEST";//Tên này phải giống với tên của Table trên SQL
dataGridView1.DataSource = dsTest.Tables[0];
}
Cuối cừng là nút để cập nhật dữ liệu vào SQL. Trong Bài 2 - Đơn giản hóa lập trình ADO.NET sử dụng SqlBulkCopy mình có giới thiệu cách để Insert nhanh dữ liệu lên SQL, các bạn tham khảo lại nha vì bây giờ mình chỉ cần sử dụng lại thôi
private void btnSQL_Click(object sender, EventArgs e)
{
if(!ExecBulkCopy(dsTest.Tables[0], "TEST"))
MessageBox.Show("Không thành công!","Laptrinhvb.net");
else
MessageBox.Show("Đã thực hiện thành công!", "Laptrinhvb.net");
}
Chú ý: Số cột trong DataTable phải bằng và giống tên với Table TEST trên SQL nha các bạn.
Và bây giờ là thành quả sau khi Insert xong
Chúc các bạn vui và thực hiện thành công. Nếu có thắc mắc hãy comment bên dưới nhé!
Link download nếu bạn làm biếng code lại