博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
泛型数据生成Excel
阅读量:5255 次
发布时间:2019-06-14

本文共 2380 字,大约阅读时间需要 7 分钟。

工作需要.提供下我的代码.直接上代码了,挺简单的.不需要怎么解释了

 

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;
        }

 

转载于:https://www.cnblogs.com/SOSOS/archive/2009/11/18/1605452.html

你可能感兴趣的文章
0082-莱布尼兹三角形
查看>>
HDU2489【状压枚举】
查看>>
Android:SQLite数据绑定ListView
查看>>
Lucene.net(4.8.0) 学习问题记录五: JIEba分词和Lucene的结合,以及对分词器的思考
查看>>
LeetCode 104. Maximum Depth of Binary Tree
查看>>
Android广播学习笔记
查看>>
C# 多线程
查看>>
UVA12108
查看>>
HTML5模仿刮奖效果-页面涂抹消失插件wScratch
查看>>
SpringBoot 之Spring Boot Starter依赖包及作用
查看>>
jQuery事件
查看>>
Android 分享之butterknife绑定失效
查看>>
堆排序-heapsort
查看>>
使用Node.js+Hexo+Github搭建个人博客(续)
查看>>
外观模式,即门面模式
查看>>
C++_错误1error C2572: “FlagCout”: 重定义默认参数 : 参数 3
查看>>
用户级线程,内核级线程和硬件线程
查看>>
【转】maven学习(中)- 私服nexus搭建
查看>>
win7所有服务被禁用(应该是大多数被禁用)
查看>>
NetCore 中 EFcore的DbFirst和CodeFirst混合 使用注意
查看>>