您的位置:首页 > 编程语言 > C#

C#将datatable导出到excel

2015-08-27 16:35 537 查看
using System.IO;  

using Microsoft.Office.Core;  

using Excel = Microsoft.Office.Interop.Excel;

public bool ExportFile(System.Data.DataTable dt)

{

 SaveFileDialog sfd = new SaveFileDialog();

 sfd.Filter = "Excel文件(*.xls)|*.xls|所有文件(*.*)|*.*";

 sfd.Title = "Excel文件导出";

 string fileName = "";

 if (sfd.ShowDialog() == DialogResult.OK)

 {

  fileName = sfd.FileName;

  Excel.Application app = new Excel.Application();

  if (app == null)

  {

   MessageBox.Show("Excel启动失败!");

   return false;

  }

  try

  {

   app.Visible = false;

   Excel.Workbook xlWorkBook = app.Workbooks.Add(Type.Missing);

   Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

   int i;

   for (i = 0; i < dt.Columns.Count; i++)

   {

    xlWorkSheet.Cells[1, i + 1] = dt.Columns[i].ColumnName;

   }

   for (i = 0; i < dt.Rows.Count; i++)

   {

    for (int j = 0; j < dt.Columns.Count; j++)

    {

     xlWorkSheet.Cells[i + 2, j + 1] = dt.Rows[i][j].ToString();

    }

   }

   xlWorkBook.SaveAs(fileName, Excel.XlFileFormat.xlWorkbookNormal, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

   xlWorkBook.Close(true, Type.Missing, Type.Missing);

   app.Quit();

   ReleaseObject(xlWorkSheet);

   ReleaseObject(xlWorkBook);

   ReleaseObject(app);

   return true;

  }

  catch (System.Exception exc)

  {

   MessageBox.Show("excel运行错误:"+exc.Message);

   return false;

  }

 }

 else

 {

  return false;

 }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C# Excel DataTable