using System;
using System.Data;
using System.IO;
using System.Web.UI.WebControls;
namespace IntechWMS.File
{
/// <summary>
/// DownLoadDGExport 的摘要说明。
/// </summary>
public class DownLoadDGExport
{
public DownLoadDGExport()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static void DownLoad(System.Web.HttpResponse HttpRs, System.Web.HttpServerUtility server, System.Data.DataTable dt, System.Web.UI.WebControls.DataGridColumnCollection dcc, string FileName)
{
string tmpFileName = GetUniquelyString(); //获取一个不重复的文件名
StringWriter sw=new StringWriter();
//增加表头
string CsvHead = "";
foreach(DataGridColumn dc in dcc)
{
if(dc.HeaderText.Trim() != "" && dc.HeaderText.Trim() != "操作" && dc.Visible == true)
{
CsvHead = CsvHead + dc.HeaderText.Trim() + "/t";
}
}
sw.WriteLine(CsvHead.Remove(CsvHead.Length-1, 1));
//增加明细
string CsvItem = "";
foreach(DataRow dr in dt.Rows)
{
foreach(DataGridColumn dc in dcc)
{
if(dc.HeaderText.Trim() != "" && dc.HeaderText.Trim() != "操作" && dc.Visible == true)
{
CsvItem = CsvItem + dr[((BoundColumn) dc).DataField.Trim()].ToString().Trim() + "/t";
}
}
string temp = CsvItem.Remove(CsvItem.Length-1, 1);
sw.WriteLine(CsvItem.Remove(CsvItem.Length-1, 1));
CsvItem = "";
}
sw.Close();
HttpRs.AddHeader("Content-Disposition", "attachment; filename=" + server.UrlEncode(FileName + ".XLS"));
HttpRs.ContentType = "application/ms-excel";// 指定返回的是一个不能被客户端读取的流,必须被下载
HttpRs.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312"); //设置字符编码
HttpRs.Write(sw); // 把文件流发送到客户端
HttpRs.End();
}
}
}