Có rất nhiều cách
1 - Tương tác với Office component(COM)
2 - Tạo kết nối đến XLS thông qua ADO.NET ( OLEDB)
rùi tìm kiếm bằng các sub , function như select, filter...
Có bác nào biết cách tìm kiếm 1 mẩu tin trong excel bằng C# xin chỉ giáo rùm.
Tức là tìm kiếm 1 trường dữ liệu trong file Excel có sẵn.
Cám ơn nha!
Có rất nhiều cách
1 - Tương tác với Office component(COM)
2 - Tạo kết nối đến XLS thông qua ADO.NET ( OLEDB)
rùi tìm kiếm bằng các sub , function như select, filter...
Đối với Excel thì bạn có thể coi tệp đó như là 1 CSDL và có thể dùng ADO với ConnectionString thích hợp để connect
ví dụ :
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""
"HDR=Yes;" --> Dòng đầu là tên cột
"HDR=No;" --> dòng đầu ko phải tên cột
"IMEX=1;" data = text
Sql sử dụng :
"SELECT * FROM [sheet1$]"
- Tên worksheet có "$" ở cuối và đặt trong "[" "]" ngoặc vuông
Em muốn thêm điều kiện "Where" thì thêm thế nào hở bác?Sql sử dụng :
"SELECT * FROM [sheet1$]"
- Tên worksheet có "$" ở cuối và đặt trong "[" "]" ngoặc vuông
Tạo 1 file xls với nội dung như sau
lưu vào D:\test.xls.Code:Ten DiemVan DiemToan do tien hung 1 2 do dinh ky 1 2 pham trung hai 1 2 hoang thi hien 2 2 PTH 3 2
Kéo 1 datagridview lên form 1 rồi paste đoạn code sau vào form load
,đọc kỹ các post ở trên để biết chii tiết
Code:string excelConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @"D:\Test.xls" + ";Extended Properties=Excel 8.0;;Persist Security Info=False"; OleDbConnection cn = new OleDbConnection(excelConnectionString); OleDbDataAdapter da = new OleDbDataAdapter("Select * from [Sheet1$] Where [Ten] ='PTH'", cn); DataTable dt = new DataTable(); cn.Open(); da.Fill(dt); this.dataGridView1.DataSource = dt;
Cám ơn bác nhé.