C#把表中的数据导入到Excel中

利用以下程序生产excel.dll
..\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin\TlbImp.exe    excel.exe
在.net开发环境中引入excel.dll
public void exportToExcel(){
   try {
    Excel.Application oXL = new Excel.Application();
    Excel.Workbook theWorkbook;
    Excel.Worksheet worksheet;
    
    oXL.Visible = this.ExcelVisible;
    theWorkbook = oXL.Workbooks.Add(Type.Missing);
    //
    if ( theWorkbook.Worksheets.Count > 0) {
     worksheet = (Excel.Worksheet)theWorkbook.Sheets[1];
     worksheet.Activate();
     Excel.Range rg = null;
     int RowCounter = 2;

     DataRow[] rpt = data.Select("","");
     for(int i=0;i<data.Columns.Count;i++){
      worksheet.Cells[1,i+1] = data.Columns[i].ColumnName;
     }
     foreach(DataRow dr in rpt) {
      rg = (Excel.Range)worksheet.Rows[RowCounter, Type.Missing];
      rg.HorizontalAlignment = Excel.Constants.xlCenter;
      rg.Cells.RowHeight = 12;
      rg.Font.Name = "Aerial";
      rg.Font.Size = 12;
      for(int i=0;i<dr.ItemArray.Length;i++){
       worksheet.Cells[RowCounter,i+1] = dr.ItemArray[i].ToString();
      }
      RowCounter++;
     }

     FileInfo f = new FileInfo(excelFileName);
     if(f.Exists)
      f.Delete();
     
     oXL.ActiveWorkbook.SaveAs(excelFileName,
      Excel.XlFileFormat.xlWorkbookNormal, Type.Missing, Type.Missing,
      Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlNoChange ,
      Type.Missing, Type.Missing, Type.Missing, Type.Missing,Type.Missing);
     oXL.Visible = false;

     theWorkbook.Close(null,null,null);
     oXL.Workbooks.Close();
     oXL.Application.Quit();
     oXL.Quit();
     System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheet);
     System.Runtime.InteropServices.Marshal.ReleaseComObject(theWorkbook);
     System.Runtime.InteropServices.Marshal.ReleaseComObject(oXL);
     worksheet = null;
     theWorkbook = null;
     oXL = null;
     //
    }
   }
   catch(Exception ex) {
    MessageBox.Show(ex.ToString());
   }

转载于:https://www.cnblogs.com/swingboat/archive/2005/03/17/120677.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值