02/10/2018, 00:01

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à ...

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

Tags: csvexcel
0