引用.net 4.0的组件Microsoft.Office.Interop.Excel;
导出Execl
using Microsoft.Office.Interop.Excel;
private void btn_Click(object sender, RoutedEventArgs e)
{
//首先模拟建立将要导出的数据,这些数据都存于DataTable中
System.Data.DataTable dt = new System.Data.DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("NickName", typeof(string));
dt.Columns.Add("QNumber", typeof(string));
DataRow row = dt.NewRow();
row["ID"] = 1;
row["NickName"] = "sanjiawan";
row["QNumber"] = "12345678";
dt.Rows.Add(row);
row = dt.NewRow();
row["ID"] = 2;
row["NickName"] = "人物2";
row["QNumber"] = "9058307";
dt.Rows.Add(row);
//创建Excel
Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
Workbook excelWB = excelApp.Workbooks.Add(System.Type.Missing); //创建工作簿(WorkBook:即Excel文件主体本身)
Worksheet excelWS = (Worksheet)excelWB.Worksheets[1]; //创建工作表(即Excel里的子表sheet) 1表示在子表sheet1里进行数据导出
//excelWS.Cells.NumberFormat = "@"; // 如果数据中存在数字类型 可以让它变文本格式显示
//将数据导入到工作表的单元格
for (int i = 0; i < dt.Rows.Count; i++)
{
for (int j = 0; j < dt.Columns.Count; j++)
{
excelWS.Cells[i + 1, j + 1] = dt.Rows[i][j].ToString(); //Excel单元格第一个从索引1开始
}
}
excelWB.SaveAs("D:\\execlTest.xlsx"); //将其进行保存到指定的路径
excelWB.Close();
excelApp.Quit(); //释放可能还没释放的进程
}