1.1
Đọc file Excel với ADO.NET
V
V
Bạn muốn thu lấy hay chèn dữ liệu vào một tài liệu Microsoft Excel bằng
ADO.NET.
#
#
Sử dụng ODBC .NET provider kết hợp với Microsoft Excel ODBC Driver.
Không có OLE DB provider hay provider được-quản-lý nào cho Excel. Tuy nhiên, bạn có
thể sử dụng Microsoft Excel ODBC Driver (được cài đặt mặc định cùng với Excel) kết
hợp với ODBC .NET provider (đi kèm với .NET Framework 1.1 và Visual Studio .NET
2003).
Trong chuỗi kết nối, bạn cần chỉ định driver mà bạn đang sử dụng và tên file Excel. Ví dụ
dưới đây chỉ đến file
test.xls trong thư mục startup của ứng dụng:
private string ConnectionString = "Driver={Microsoft Excel Driver
(*.xls)};DriverId=790;Dbq=" + Application.StartupPath + "\\test.xls;";
Sau khi kết nối, bạn có thể thực hiện hai kiểu thao tác: SELECT hay INSERT. Thay vì
sử dụng bảng, bạn chọn hay chèn dựa vào tên sheet. Tên sheet phải kết thúc bằng dấu đô
la ($) và được đặt trong dấu ngoặc vuông (nếu không, sẽ sinh ra lỗi cú pháp). Định dạng
bị bỏ qua, và hàng đầu tiên tự động được sử dụng làm các tên cột.
Ví dụ dưới
đây trích và hiển thị tất cả các hàng trong Sheet1. Hình 10.2 là file Excel gốc.
Hình 10.3 là dữ liệu được trình bày trên form.
private void ExcelView_Load (System.Object sender, System.EventArgs e)
{
OdbcConnection Con = new OdbcConnection(ConnectionString);
OdbcDataAdapter Adapter = new OdbcDataAdapter("SELECT * FROM
[Sheet1$]",
Con);
DataSet Ds = new DataSet();
try
{
Con.Open();
Adapter.Fill(Ds, "Sheet1");
}
catch (Exception Err)
{
MessageBox.Show(Err.ToString());
}
finally
{
Con.Close();
}
grid.DataSource = Ds.Tables["Sheet1"];
}
Hình 10.2 File Excel gốc Hình 10.3 Dữ liệu Excel
trong ứng dụng .NET
#
Một cách tiếp cận khác là sử dụng Automation để vận hành Excel thông qua
các giao diện COM do nó cung cấp. Cách này đòi hỏi bạn sử dụng COM Interop
và các đối tượng của Excel, và chỉ làm việc khi Excel đã được cài đặt trên máy
tính. Tuy vậy, nó cung cấp rất nhiều chức năng cho việc tương tác với dữ liệu
bảng tính.
1.2
Sử dụng Data Form Wizard
V
V
Bạn muốn xây dựng một ứng dụng cơ sở dữ liệu với đầy đủ chức năng nhưng
không phải viết bất cứ dòng mã nào.
#
#
Sử dụng Data Form Wizard.
Để sử dụng Data Form Wizard, bạn hãy thực hiện các bước dưới đây:
1.
Tạo một dự án mới, chọn mẫu Empty Project. Đặt tên dự án là DataFormWiz. Nhắp
OK.
1.
Từ thanh trình đơn chính của IDE, chọn Project | Add New Item để hiển thị hộp
thoại Add New Item (xem hình 10.4).
The image part with relationship ID rId5 was not fo und in the file.
The image part with relationship I D rId6 was not foun d in the file.
Hình 10.4 Hộp thoại Add New Item
2.
Chọn Data Form Wizard, và giữ nguyên tên mặc định DataForm1.cs. Nhắp Open
để thêm Data Form Wizard vào dự án. Ngay khi bạn nhắp Open, Data Form Wizard
sẽ khởi chạy. Nhắp Next.
3.
Đặt tên cho tập dữ liệu mới là dsDataWizard (xem hình 10.5). Nhắp Next.
Hình 10.5 Tạo một tập dữ liệu mới với tên là dsDataWizard
4.
Tạo một kết nối mới bằng cách nhắp nút New Connection (xem hình 10.6).
The image part with relationship ID rId7 was not fo und in the file.
The image part with relationship ID rId8 was not fo und in the file.
Hình 10.6 Nhắp nút New Connection để tạo kết nối mới
5.
Kết nối đến cơ sở dữ liệu Northwind của SQL Server trong hộp thoại Data Link
Properties (xem hình 10.7). Nhắp OK.
Hình 10.7 Hộp thoại Data Link Properties
The image part with relationship ID rId9 was not fo und in the file.
The image part with relationship ID rId10 was not fo und in the file. The image part with relationship ID rId11 was not fo und in the file.
6.
Chọn kết nối vừa tạo (xem hình 10.8). Nhắp Next.
Hình 10.8 Chọn kết nối Northwind vừa mới tạo
7.
Thêm bảng Categories và Products vào danh sách Selected Item(s) (xem hình 10.9).
Nhắp Next.
Hình 10.9 Thêm bảng Categories và Products
The image part with relationship ID rId12 was not fo und in the file.
The image part with relationship ID rId13 was not fo und in the file.