Import Export Excel với C# 2005 Chức năng Import Khi thực hiện chức năng lấy dữ liệu từ excel thì những bước quan trọng nhất là : - Chuỗi kết nối với Excel cho phép kết nối với cả excel
Trang 1Import Export Excel với C# 2005
Chức năng Import
Khi thực hiện chức năng lấy dữ liệu từ excel thì những bước quan trọng nhất là :
- Chuỗi kết nối với Excel ( cho phép kết nối với cả excel 2007)
strConn="Provider=Microsoft.ACE.OLEDB.12.0;
DataSource=D:\\Data\\Excel.xslx; Extended Properties = 12.0";
- Thực hiện việc truy vấn dữ liệu và đổ vào dataset (hoặc đưa thẳng vào
database bằng cách thay đổi câu lệnh query)
OleDbDataAdapter da=new OleDbDataAdapter("Select ten_column1,
ten_column2, from [Sheet$]", strConn)
- Từ dataset đưa dữ liệu vào dabase
Chức năng Export
Để export được dữ liệu ra excel thì trước tiên ta phải khai báo các thư viện sử dụng liên quan đến Excel
using Microsoft.Office.Interop.Excel;
Trang 2using VBIDE_12 = Microsoft.Vbe.Interop;
using Office_12 = Microsoft.Office.Core;
using Excel_12 = Microsoft.Office.Interop.Excel;
Tiếp đó export dữ liệu từ database ra excel
ApplicationClass excel = new ApplicationClass();
excel.Application.Workbooks.Add(true);
Excel_12.Application oExcel_12 = null; //Excel_12 Application Excel_12.Workbook oBook = null; // Excel_12 Workbook Excel_12.Sheets oSheetsColl = null; // Excel_12 Worksheets collection
Excel_12.Worksheet oSheet = null; // Excel_12 Worksheet Excel_12.Range oRange = null; // Cell or Range in worksheet Object oMissing = System.Reflection.Missing.Value;
oExcel_12 = new Excel_12.Application();
// Make Excel_12 visible to the user
oExcel_12.Visible = true;
// Set the UserControl property so Excel_12 won't shut down
oExcel_12.UserControl = true;
Trang 3// System.Globalization.CultureInfo ci = new
System.Globalization.CultureInfo("en-US");
// Add a workbook
oBook = oExcel_12.Workbooks.Add(oMissing);
// Get worksheets collection
oSheetsColl = oExcel_12.Worksheets;
oSheet = (Excel_12.Worksheet)oSheetsColl.get_Item("Sheet1");
for (int j = 0; j < dsExcel.Tables[0].Columns.Count; j++)
{
oRange = (Excel_12.Range)oSheet.Cells[1, j + 1];
oRange.Value2 = dsExcel.Table[0].Columns[j].ColumnName; }
for(int i=0; i < dsExcel.Tables[0].Rows.Count; i++)
{
for(int j=0; j<dsExcel.Tables[0].Columns.Count; j++)
{
oRange = (Excel_12.Range)oSheet.Cells[i + 2, j + 1];
Trang 4oRange.Value2 = dsExcel.Tables[0].Rows[i][j];
}
}
Giải thích :
1 Excel_12.Application là ứng dụng Excel, nó là đối tượng cao nhất, quản lý các chương trình excel đang chạy trên máy tính
2 Excel_12.WorkBook là 1 ứng dụng excel (đây chính là đối tượng excel ta cần tạo ra để export dữ liệu vào)
3 Excel_12.Sheets là tập hợp tất cả các sheet trong đối tượng Excel mà ta tạo
ra
4 Excel_12.WorkSheet là sheet mà hiện tại ta đang làm việc
5 Excel_12.Range là (tập hợp) cell mà ta làm việc
6 Từ các điều trên ta có thứ tự làm việc của đoạn code
- Trước tiên chạy ứng dụng Excel
- Tạo ra đối tượng Excel làm việc
- Tạo ra các sheet của đối tượng Excel đó
- Tạo ra sheet làm việc
- Điền các giá trị vào các cell trong sheet làm việc (cell có vị trí thấp nhất là
Trang 5hàng 1 cột 1)
Download code mẫu tại : ImportExportExcel.rar
Theo http://my.opera.com/phihoanghai/blog/import-export-excel-voi-c