using Microsoft.Office.Interop.Excel;
using System.Data;
private void Button_Click(object sender, RoutedEventArgs e)
{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:\\sanjiawan.xlsx"); //将其进行保存到指定的路径
// excelWB.Close();
Workbook excelWB = excelApp.Workbooks.Add("D:\\sanjiawan.xlsx");
if(excelWB != null)
{
Worksheet excelWS = (Worksheet)excelWB.Worksheets[1] ;
if(excelWS != null)
{
MessageBox.Show(excelWS.Cells[1, 1].Value2.ToString());
}
ReleaseCOM(excelWS);
}
ReleaseCOM(excelWB);
excelApp.Quit(); //KillAllExcel(excelApp); 释放可能还没释放的进程
ReleaseCOM(excelApp);
}
private void ReleaseCOM(object pObj)
{
try
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(pObj);
}
catch
{
throw new Exception("释放资源时发生错误!");
}
finally
{
pObj = null;
}
}