您的位置:首页 > 其它

按照一定的规格形式导出需要的数据(导出功能实现和一些需要注意的问题)

2018-02-01 15:59 411 查看
//获取原始数据
DataTable data = (DataTable)MemberHelper.GetBalanceDrawRequestsNoPage(query, true).Data;
//设置第一行的格式,注意CSV格式中每列以“,”表示间隔
string s = (((string.Empty + "用户名") + ",申请时间" + ",提现金额" + ",身份证号") + ",开户银行" + ",真实姓名") + ",银行账号" + ",联系电话\r\n";
//循环写入每行的对应数据
foreach (DataRow row in data.Rows)
{
s = s + row["UserName"].ToString();
s = s + "," + row["RequestTime"].ToString();
s = s + "," + row["Amount"].ToString();
//因身份证号码长度为18位,在生成CVS格式文件后若通过Excel打开,则由于格式转换的问题转变成数字格式的时候后4位会通过0来站位,"\t" 为制表符,可解决这一问题
s = s + "," + row["IdentityCard"].ToString() + "\t";
s = s + "," + row["BankName"].ToString();
s = s + "," + row["RealName"].ToString();
s = s + ",`" + row["MerchantCode"].ToString();
s = s + "," + row["CellPhone"].ToString() + "\r\n";
}
//生成保存文件的一些必要参数
this.Page.Response.Clear();
this.Page.Response.Buffer = false;
this.Page.Response.Charset = "GB2312";
this.Page.Response.AppendHeader("Content-Disposition", "attachment;filename=BalanceDrawRequest.csv");
this.Page.Response.ContentEncoding = Encoding.GetEncoding("GB2312");
this.Page.Response.ContentType = "application/octet-stream";
this.Page.EnableViewState = false;
this.Page.Response.Write(s);
this.Page.Response.End();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  csv