winform从datagrid导出到excel单表的方法

来源:互联网 发布:淘宝哪些不需要保证金 编辑:程序博客网 时间:2024/04/27 17:11
public static void DataTabletoExcel(System.Data.DataTable tmpDataTable,string strFileName)
  {
   if (tmpDataTable == null)
    return;
   int rowNum = tmpDataTable.Rows.Count;
   int columnNum = tmpDataTable.Columns.Count;
   int rowIndex = 1;
   int columnIndex = 0;

   Excel.Application xlApp = new Excel.ApplicationClass();
   xlApp.DefaultFilePath = "";
   xlApp.DisplayAlerts = true;
   xlApp.SheetsInNewWorkbook = 1;
   Excel.Workbook xlBook = xlApp.Workbooks.Add(true);

   //将DataTable的列名导入Excel表第一行
   foreach(DataColumn dc in tmpDataTable.Columns)
   {
    columnIndex ++;
    xlApp.Cells[rowIndex,columnIndex] = dc.ColumnName;
   }

   //将DataTable中的数据导入Excel中
   for(int i = 0;i<rowNum; i++)
   {
    rowIndex ++;
    columnIndex = 0;
    for (int j = 0;j<columnNum; j++)
    {
     columnIndex ++;
     xlApp.Cells[rowIndex,columnIndex] = tmpDataTable.Rows[i][j].ToString();
    }
   }
   xlBook.SaveCopyAs(strFileName); 
  }


调用此方法格式  DataTabletoExcel(objDT,"c://zczc1984.xls");
//看左面格式 设置路径方法 也可用@"c:/zczc1984.xls"来表示

对于相关的 DataTable 数据变量 需要 先定义 public System.Data.DataTable objDT
这句话放在 拖控件以后会自动在form类中添加的地方