首页 > 代码库 > ASP.NET后台自定义导出Excel

ASP.NET后台自定义导出Excel

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

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

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

1)准备数据源

//首先创建一个DataTableDataTable 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