工作需要.提供下我的代码.直接上代码了,挺简单的.不需要怎么解释了
protected
void
btnExport_Click(
object
sender, EventArgs e)
{
List < Bonus.Model.LogMemberBonusOut > ExportExcel = new Bonus.BLL.LogMemberBonusOut().GetList( 1 , 10000 , Session[ " strWhere " ].ToString());
DataSet ds = ChangeParantIDToParentExcel(ExportExcel);
string ExcelName = " PlayerFundOutListing_ " + DateTime.Now.ToString( " yyyyMMdd " ) + " .xls " ;
CreateExcelFromTable(ds.Tables[ 0 ], ExcelName);
}
#region 生成Excel的代码
private void CreateExcelFromTable(DataTable table, string FileName)
{
HttpResponse response = Page.Response;
response.ContentEncoding = System.Text.Encoding.GetEncoding( " GBK " );
response.AddHeader( " Content-Disposition " , " attachment;filename= " + FileName);
int index = 0 ;
string headers = "" ;
for (index = 0 ; index < table.Columns.Count; index ++ )
{
headers += table.Columns[index].ColumnName + " \t " ;
}
headers += " \n " ;
response.Write(headers);
response.Flush();
foreach (DataRow row in table.Rows)
{
string rowContent = "" ;
foreach (DataColumn column in table.Columns)
{
rowContent += row[column.ColumnName].ToString() + " \t " ;
}
rowContent += " \n " ;
response.Write(rowContent);
response.Flush();
}
response.End();
}
private DataSet ChangeParantIDToParentExcel(List < Bonus.Model.LogMemberBonusOut > ListData)
{
DataSet ds = new DataSet();
DataTable tmpDt = new DataTable();
tmpDt.Columns.Add( " TranID " );
tmpDt.Columns.Add( " Member Code " );
tmpDt.Columns.Add( " Fund Out Amt " );
tmpDt.Columns.Add( " Bonus " );
tmpDt.Columns.Add( " Product " );
tmpDt.Columns.Add( " Fund Out Date " );
tmpDt.Columns.Add( " Status " );
tmpDt.Columns.Add( " Verified By " );
tmpDt.Columns.Add( " Verified Date " );
DataRow dr;
foreach (var item in ListData)
{
dr = tmpDt.NewRow();
dr[ " TranID " ] = item.OrderID;
dr[ " Member Code " ] = item.MemberCode;
dr[ " Fund Out Amt " ] = item.OutMoney;
dr[ " Bonus " ] = item.Bonus;
dr[ " Product " ] = GetPname(Convert.ToInt16(item.ProductIDInfo));
dr[ " Fund Out Date " ] = item.OutDate.ToString( " yyyy-MM-dd hh:mm:ss " );
dr[ " Status " ] = item.StatusID;
dr[ " Verified By " ] = item.CreateBy;
dr[ " Verified Date " ] = item.CreateDate.ToString( " yyyy-MM-dd hh:mm:ss " ).Replace( " 0001-01-01 12:00:00 " , "" );
tmpDt.Rows.Add(dr);
}
tmpDt.AcceptChanges();
ds.Tables.Add(tmpDt);
return ds;
}
{
List < Bonus.Model.LogMemberBonusOut > ExportExcel = new Bonus.BLL.LogMemberBonusOut().GetList( 1 , 10000 , Session[ " strWhere " ].ToString());
DataSet ds = ChangeParantIDToParentExcel(ExportExcel);
string ExcelName = " PlayerFundOutListing_ " + DateTime.Now.ToString( " yyyyMMdd " ) + " .xls " ;
CreateExcelFromTable(ds.Tables[ 0 ], ExcelName);
}
#region 生成Excel的代码
private void CreateExcelFromTable(DataTable table, string FileName)
{
HttpResponse response = Page.Response;
response.ContentEncoding = System.Text.Encoding.GetEncoding( " GBK " );
response.AddHeader( " Content-Disposition " , " attachment;filename= " + FileName);
int index = 0 ;
string headers = "" ;
for (index = 0 ; index < table.Columns.Count; index ++ )
{
headers += table.Columns[index].ColumnName + " \t " ;
}
headers += " \n " ;
response.Write(headers);
response.Flush();
foreach (DataRow row in table.Rows)
{
string rowContent = "" ;
foreach (DataColumn column in table.Columns)
{
rowContent += row[column.ColumnName].ToString() + " \t " ;
}
rowContent += " \n " ;
response.Write(rowContent);
response.Flush();
}
response.End();
}
private DataSet ChangeParantIDToParentExcel(List < Bonus.Model.LogMemberBonusOut > ListData)
{
DataSet ds = new DataSet();
DataTable tmpDt = new DataTable();
tmpDt.Columns.Add( " TranID " );
tmpDt.Columns.Add( " Member Code " );
tmpDt.Columns.Add( " Fund Out Amt " );
tmpDt.Columns.Add( " Bonus " );
tmpDt.Columns.Add( " Product " );
tmpDt.Columns.Add( " Fund Out Date " );
tmpDt.Columns.Add( " Status " );
tmpDt.Columns.Add( " Verified By " );
tmpDt.Columns.Add( " Verified Date " );
DataRow dr;
foreach (var item in ListData)
{
dr = tmpDt.NewRow();
dr[ " TranID " ] = item.OrderID;
dr[ " Member Code " ] = item.MemberCode;
dr[ " Fund Out Amt " ] = item.OutMoney;
dr[ " Bonus " ] = item.Bonus;
dr[ " Product " ] = GetPname(Convert.ToInt16(item.ProductIDInfo));
dr[ " Fund Out Date " ] = item.OutDate.ToString( " yyyy-MM-dd hh:mm:ss " );
dr[ " Status " ] = item.StatusID;
dr[ " Verified By " ] = item.CreateBy;
dr[ " Verified Date " ] = item.CreateDate.ToString( " yyyy-MM-dd hh:mm:ss " ).Replace( " 0001-01-01 12:00:00 " , "" );
tmpDt.Rows.Add(dr);
}
tmpDt.AcceptChanges();
ds.Tables.Add(tmpDt);
return ds;
}