码迷,mamicode.com
首页 > Web开发 > 详细

ASP.NET后台自定义导出Excel

时间:2015-01-13 17:37:25      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:

关于导出,属于老生常谈了,下面就总结下我自己遇到的一些导出吧。

1、使用Excel组件进行导出(需要安装Microsoft Office Excel)。

下面为代码,希望可以帮助别人。

1)准备数据源

//首先创建一个DataTable
DataTable dtSource = new DataTable();
dtSource.Columns.Add("ID");
dtSource.Columns.Add("Name");
dtSource.Columns.Add("Description");

//往DataTable中添加一些数据
for(int i=0;i<10;i++){
  DataRow row = dtSource.NewRow();
  row["ID"]=i+1;
  row["Name"]="Tom And Jerry";
  row["Description"]="这是一个经典的动画片,猫和老鼠";
  dtSource.Rows.Add(row);
}

  string filePath = HttpContext.Current.Server.MapPath("~/UpFiles/file/aa.xls");

 2)创建Excel对象,并添加数据

//
Microsoft.Office.Interop.Excel.Application excel = null;   //创建一个Office对象,或者使用Microsoft.Office.Interop.Excel._Application
  excel = new Microsoft.Office.Interop.Excel.ApplicationClass();
  excel.Workbooks.Add(true);
  int rowIndex=1; //Excel中的行,从1开始
  int colIndex=1; //Excel中的列,从1开始
  //添加标题
 foreach(DataColumn col in dtSource.Columns){
   excel.Cells[rowIndex,colIndex] = col.ColumnName;
   colIndex++;
  }
  //添加表格内容
 foreach(DataRow row in dtSource.Rows){
   rowIndex++;
   colIndex = 1;
   foreach(DataColumn col in dtSource.Columns){
      excel.Cells[rowIndex,colIndex]=row[col.ColumnName].ToString();
      colIndex++;
   }
  }

  excel.ActiveWorkbook.SaveAs(filePath,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange
 ,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value);

  excel.Quit();
  excel = null;

 3)生成结果如下图所示
技术分享

ASP.NET后台自定义导出Excel

标签:

原文地址:http://www.cnblogs.com/love522/p/4218841.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!