1. Trang chủ
  2. » Công Nghệ Thông Tin

Hướng dẫn Import dữ liệu và Database

10 3,5K 26
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 115,18 KB

Nội dung

Hướng dẫn Import dữ liệu và Database

Trang 1

Hướng dẫn Import dữ liệu vào database từ tập tin excel

 Hướng dẫn Import dữ liệu vào database từ tập tin excel

trong C#

Ở bài viết này, Góc Kinh Nghiệm hướng dẫn bạn cách đọc dữ liệu tập tin excel, sau đó import dữ liệu đọc được vào database

Ở đây Góc Kinh Nghiệm sử dụng:

 Microsoft Excel 2003

 SQL Server 2005

 Visual Studio 2010 (Win Form)

Mô tả:

Người dùng nhất vào nút “Browse …” để chọn tập tin excel cần import Kế tiếp nhấn nút

“Import excel” để thực thiện việc import dữ liệu vào database Sau khi kết thúc import xong, lấy tất cả dữ liệu từ dabase hiển thị lên DataGridView, kết quả như hình bên dưới:

Hình 1: Giao diện form import excel

Giờ chúng ta cùng Góc Kinh Nghiệm lần lượt làm theo các bước sau:

 Bước 1: Tạo tập tin import tên EmployeeInfo.xls có thông tin và định dạnh như hình bên dưới:

Hình 2: thông tin và định dạng tập tin excel cần import

 Bước 2: Vào SQL Server 2005 tạo cơ sở dữ liệu có tên HumanResourceDB và table có tên EmployeeInfo như hình bên dưới:

Trang 2

Hình 3: Database để lưu thông tin import

Lưu ý: ở đây bạn cũng có thể dụng SQL Server 2000 để thao tác (không nhất thiết là SQL Server 2005)

 Bước 3: Mở Visual Studial 2010 (bạn cũng có thể dùng VS2005, VS2008 để thao tác), Vào File -> New -> Project … -> Windows (phía bên trái) -> Windows Forms Application, và gõ vào ô Name bên tên project là ImportExcel

 Bước 4: Sau khi project được tạo, bạn đổi tên Form1 thành FormMain, vào design của FormMain tạo các đối tượng sau:

o TextBox: tên txtFilePath, dùng để chứa đường dẫn tập tin excel cần import

o Button: tên btnBrowse, cho phép người dùng chọn tập tin excel cần import

o Button: tên btnImportExcel, thực hiện import khi người dùng nhấn vào nút này, sau khi import thành công sẽ hiển thị dữ liệu lên DataGridView

o DataGridView: tên dgvData, để chứa dữ liệu được lấy từ database sau khi import xong

o Lable “File Path” tùy ý Tham khảo hình 1 ở trên

 Bước 5: Nhất chuột phải lên project ImportExcel -> Add -> New Item -> Data (bên trái) -> DataSet (bên phải), gõ tên HumanResource.xsd vào ô Name như hình bên dưới

Trang 3

Hình 4: Tạo DataSet tên HummanResource.xsd

 Bước 6: Nhấn chuột phải vào vào DataSet vừa tạo ở bước 5, chọn Add ->

TableAdapter …, hiện ra một hộp thoại TableAdapter Cofiguration Wizard -> nhấn nút New Connection …, -> xuất hiện hộp thoại tên Add Connection, gõ dấu chấm (.) vào ô Server Name (dấu chấm ở đây đại diện cho localhost, tức SQL Server đang được cài trên máy hiện hành của bạn), và chọn database tên

“HumanResourceDB” (database này đã tạo sẵn ở bước 2) -> nhấn nút OK -> nhất Next, và làm theo chỉ dẫn của wizard, xem hình bên dưới:

Trang 4

Hình 5: tạo kết nối với database

Các chủ đề tương tự mới nhất:

 Tất Cả Bài Tập Lập Trình Căn Bản, Đồ Họa,

 Visual Studio 2010 Ultimate Actived

Trả lời Trả Lời Với Trích Dẫn Thanks

15-09-2011

 Hướng dẫn Import dữ liệu vào database từ tập tin excel 11:34 AM #2

hctru68

admin_tailieusv

Tham gia ngày

Jul 2011

Nơi Cư Ngụ

Trang 5

Ninh Kiều, Cần Thơ

Bài gởi

216

Thanks

10

Thanked 45 Times in 29 Posts

Sau khi hoàn tất Wizard, chúng ta được DataSet với kết quả hình như sau:

Hình 6: kết quả của DataSet được tạo Trong đó:

Nội dung các hàm lần lược như sau:

GetData()

SELECT [Index], Code, FullName, WorkingYears

FROM EmployeeInfo

GetEmployeeInfoByCode()

SELECT [Index], Code, FullName, WorkingYears

FROM EmployeeInfo

Where Code = @Code

Trang 6

INSERT INTO [EmployeeInfo] ([Code], [FullName], [WorkingYears]) VALUES (@Code, @FullName, @WorkingYears);

SELECT SCOPE_IDENTITY()

UpdateEmployeeInfoByCode()

UPDATE EmployeeInfo

SET FullName = @FullName, WorkingYears = @WorkingYears

WHERE (Code = @Original_Code);

 Bước 7: quay lại form FormMain, code như bên dưới:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Data.OleDb;

namespace ImportExcel

Trang 7

public partial class FormMain : Form

{

public FormMain()

{

InitializeComponent();

btnBrowse.Click += new EventHandler(btnBrowse_Click);

btnImportExcel.Click += new EventHandler(btnImportExcel_Click); }

void btnBrowse_Click(object sender, EventArgs e)

{

// Browse đếBn file cầDn import

OpenFileDialog ofd = new OpenFileDialog();

// LầBy đường dầGn file import vừa chọn

txtFilePath.Text = ofd.ShowDialog() == DialogResult.OK ?

ofd.FileName : "";

}

void btnImportExcel_Click(object sender, EventArgs e)

{

if (!ValidInput())

return;

// Đọc dữ liệu từ tập tin excel traR vếD DataTable

DataTable data = ReadDataFromExcelFile();

// Import dữ liệu đọc được vào database

ImportIntoDatabase(data);

// LầBy hếBt dữ liệu import từ database hiếRn thị lến gridView ShowData();

}

private bool ValidInput()

Trang 8

if (txtFilePath.Text.Trim() == "")

{

MessageBox.Show("Xin vui lòng chọn tập tin excel cầDn import"); return false;

}

return true;

}

private DataTable ReadDataFromExcelFile()

{

string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + txtFilePath.Text.Trim() + ";Extended Properties=Excel 8.0";

// Tạo đốBi tượng kếBt nốBi

OleDbConnection oledbConn = new

OleDbConnection(connectionString);

DataTable data = null;

try

{

// MởR kếBt nốBi

oledbConn.Open();

// Tạo đốBi tượng OleDBCommand và query data từ sheet có tến

"Sheet1"

OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Sheet1$]", oledbConn);

// Tạo đốBi tượng OleDbDataAdapter đếR thực thi việc query lầBy dữ liệu từ tập tin excel

OleDbDataAdapter oleda = new OleDbDataAdapter();

oleda.SelectCommand = cmd;

// Tạo đốBi tượng DataSet đếR hứng dữ liệu từ tập tin excel

DataSet ds = new DataSet();

Trang 9

// ĐốR đữ liệu từ tập excel vào DataSet

oleda.Fill(ds);

data = ds.Tables[0];

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString());

}

finally

{

// Đóng chuốGi kếBt nốBi

oledbConn.Close();

}

return data;

}

private void ImportIntoDatabase(DataTable data)

{

if (data == null || data.Rows.Count == 0)

{

MessageBox.Show("Khống có dữ liệu đếR import");

return;

}

HumanResourceTableAdapters.EmployeeInfoTableAdapte r adapter = new HumanResourceTableAdapters.EmployeeInfoTableAdapte r(); string code = "", fullName = "";

int workingYears = 0;

try

{

for (int i = 0; i < data.Rows.Count; i++)

{

code = data.Rows[i]["Code"].ToString().Trim();

fullName = data.Rows[i]["FullName"].ToString().Trim();

workingYears = int.Parse(data.Rows[i]

["WorkingYears"].ToString().Trim());

HumanResource.EmployeeInfoDataTable existingEmployee =

Trang 10

// NếBu nhần viến chưa tốDn tại trong DB thì thếm mới

if (existingEmployee == null || existingEmployee.Rows.Count == 0)

{

adapter.InsertEmployee(code, fullName, workingYears);

}

// Ngược lại, nhần viến đã tốDn tại trong DB thì update

else

{

adapter.UpdateEmployeeInfoByCode(fullName, workingYears, code); }

}

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString());

}

MessageBox.Show("KếBt thúc import");

}

private void ShowData()

{

HumanResourceTableAdapters.EmployeeInfoTableAdapte r adapter = new HumanResourceTableAdapters.EmployeeInfoTableAdapte r(); dgvData.DataSource = adapter.GetData();

}

}

}

Bước 8: Build và chạy chương trình, thu được kết quả như hình 1 bên trên

Góc Kinh Nghiệm chúc các bạn thành công!

Ngày đăng: 18/08/2012, 11:53

HÌNH ẢNH LIÊN QUAN

Hình 1: Giao diện form - Hướng dẫn Import dữ liệu và Database
Hình 1 Giao diện form (Trang 1)
Hình 2: thông tin và định dạng tập tin excel - Hướng dẫn Import dữ liệu và Database
Hình 2 thông tin và định dạng tập tin excel (Trang 1)
Hình 1: Giao diện form - Hướng dẫn Import dữ liệu và Database
Hình 1 Giao diện form (Trang 1)
Hình 2: thông tin và định dạng tập tin excel - Hướng dẫn Import dữ liệu và Database
Hình 2 thông tin và định dạng tập tin excel (Trang 1)
Hình - Hướng dẫn Import dữ liệu và Database
nh (Trang 2)
Hình 4: Tạo DataSet tên HummanResource.xsd - Hướng dẫn Import dữ liệu và Database
Hình 4 Tạo DataSet tên HummanResource.xsd (Trang 3)
Hình 4: Tạo DataSet tên HummanResource.xsd - Hướng dẫn Import dữ liệu và Database
Hình 4 Tạo DataSet tên HummanResource.xsd (Trang 3)
Hình 5: tạo - Hướng dẫn Import dữ liệu và Database
Hình 5 tạo (Trang 4)
Hình 5: tạo - Hướng dẫn Import dữ liệu và Database
Hình 5 tạo (Trang 4)
Sau khi hoàn tất Wizard, chúng ta được DataSet với kết quả hình như sau: - Hướng dẫn Import dữ liệu và Database
au khi hoàn tất Wizard, chúng ta được DataSet với kết quả hình như sau: (Trang 5)
Hình 6: kết quả của DataSet được tạo Trong đó: - Hướng dẫn Import dữ liệu và Database
Hình 6 kết quả của DataSet được tạo Trong đó: (Trang 5)

TỪ KHÓA LIÊN QUAN

w