111,096
社区成员




public static void ExportExcel(System.Data.DataTable eDataTable,string filename)
{
try
{
dtstart = DateTime.Now;
Excel.Application xlApp = new Excel.Application();
if (xlApp == null)
{
// "无法创建Excel对象,可能您的机子未安装Excel";
return;
}
Excel.Workbooks workbooks = xlApp.Workbooks;
Excel.Workbook workbook = workbooks.Add(1);//有几个表就加几个excel// .Open(filename, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
//Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
//Type.Missing, Type.Missing, Type.Missing, Type.Missing);//这里打开指定文件
Excel.Worksheet workSheet = (Excel.Worksheet)workbook.Worksheets[1];//取得sheet1
xlApp.Visible = true;
dtend = DateTime.Now;
//写列标题
for (int i = 0; i < eDataTable.Columns.Count; i++)
{
workSheet.Cells[1, i + 1] = eDataTable.Columns[i].ColumnName;
workSheet.get_Range(workSheet.Cells[1, i + 1], workSheet.Cells[1, i + 1]).Cells.Font.Color = System.Drawing.ColorTranslator.ToOle(Color.FromArgb(000, 000, 255));//这里设置颜色,第一行的颜色,N列。
}
//写值
for (int r = 0; r < eDataTable.Rows.Count; r++)
{
for (int i = 0; i < eDataTable.Columns.Count; i++)
{
workSheet.Cells[r + 2, i + 1] = eDataTable.Rows[r][i];
}
}
xlApp.Save(filename);
workbook.Save();
workbooks.Close();
xlApp.Quit();
Process[] proc_ie = Process.GetProcessesByName("EXCEL");
foreach (Process pr in proc_ie)
{
if ((dtend > pr.StartTime && pr.StartTime > dtstart))
{
pr.Kill();
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
finally
{
GC.Collect();
}
Console.ReadKey();
}