public static void ExportDataToExcel(DataTable dt, string filePath)
{
try
{
if (filePath != string.Empty)
{
Excel.ApplicationClass xlApp = new Excel.ApplicationClass();
Excel.WorkbookClass wb = (Excel.WorkbookClass)xlApp.Workbooks.Add(System.Reflection.Missing.Value);
//写标题
for (int k = 1; k <= dt.Columns.Count; k++)
{
xlApp.Cells[1, k] = dt.Columns[k - 1].ColumnName;
}
//设置标题头大小,背景颜色
xlApp.get_Range(xlApp.Cells[1, 1], xlApp.Cells[1, dt.Columns.Count]).Cells.Font.Size = 15;
xlApp.get_Range(xlApp.Cells[1, 1], xlApp.Cells[1, dt.Columns.Count]).Cells.Interior.Color = System.Drawing.Color.Red.ToArgb();
xlApp.get_Range(xlApp.Cells[1, 1], xlApp.Cells[1, dt.Columns.Count]).EntireRow.AutoFit();
xlApp.get_Range(xlApp.Cells[1, 1], xlApp.Cells[1, dt.Columns.Count]).EntireColumn.AutoFit();
//写内容
for (int i = 1; i <= dt.Rows.Count; i++)
{
for (int j = 1; j <= dt.Columns.Count; j++)
{
if (j == dt.Columns.Count)
{
xlApp.Cells[i + 1, j] = dt.Rows[i - 1][j - 1];
}
}
}
//保存内容
wb.Saved = true;
xlApp.ActiveWorkbook.SaveCopyAs(filePath + "_" + DateTime.Now.ToString("yyyyMMdd-HHmmss") + ".xls");
//退出程序,关闭资源
xlApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject((object)xlApp);
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
{
try
{
if (filePath != string.Empty)
{
Excel.ApplicationClass xlApp = new Excel.ApplicationClass();
Excel.WorkbookClass wb = (Excel.WorkbookClass)xlApp.Workbooks.Add(System.Reflection.Missing.Value);
//写标题
for (int k = 1; k <= dt.Columns.Count; k++)
{
xlApp.Cells[1, k] = dt.Columns[k - 1].ColumnName;
}
//设置标题头大小,背景颜色
xlApp.get_Range(xlApp.Cells[1, 1], xlApp.Cells[1, dt.Columns.Count]).Cells.Font.Size = 15;
xlApp.get_Range(xlApp.Cells[1, 1], xlApp.Cells[1, dt.Columns.Count]).Cells.Interior.Color = System.Drawing.Color.Red.ToArgb();
xlApp.get_Range(xlApp.Cells[1, 1], xlApp.Cells[1, dt.Columns.Count]).EntireRow.AutoFit();
xlApp.get_Range(xlApp.Cells[1, 1], xlApp.Cells[1, dt.Columns.Count]).EntireColumn.AutoFit();
//写内容
for (int i = 1; i <= dt.Rows.Count; i++)
{
for (int j = 1; j <= dt.Columns.Count; j++)
{
if (j == dt.Columns.Count)
{
xlApp.Cells[i + 1, j] = dt.Rows[i - 1][j - 1];
}
}
}
//保存内容
wb.Saved = true;
xlApp.ActiveWorkbook.SaveCopyAs(filePath + "_" + DateTime.Now.ToString("yyyyMMdd-HHmmss") + ".xls");
//退出程序,关闭资源
xlApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject((object)xlApp);
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
本文介绍了一种将DataTable中的数据导出到Excel文件的方法。该方法首先检查文件路径是否为空,然后利用Microsoft Excel应用程序类创建一个新的工作簿,并将DataTable中的列名作为标题写入Excel的第一行。接着设置标题字体大小及背景颜色,并自动调整行和列的宽度以适应内容。最后遍历DataTable的所有行和列,将数据逐个写入Excel中相应的单元格。
1537

被折叠的 条评论
为什么被折叠?



