关于导出,属于老生常谈了,下面就总结下我自己遇到的一些导出吧。
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)生成结果如下图所示