protected void LinkButton1_Click(object sender, EventArgs e)
    {
        DataTable Dt1 = ....//生成DataTable的代码略过
        string FileName = DateTime.Now.ToString("yyyyMMddhhmmssffffff") + ".csv";
        DatatableToCSVFile(Dt1, FileName);
        Response.Write("<script>window.location.href='/UploadFile/" + FileName + "';</script>");
    }
    public void DatatableToCSVFile(DataTable dt, string SavePath)
    {
        string row;
        try
        {
            string tmp;
            FileStream fs = File.Create(Server.MapPath("~/UploadFile/" + SavePath));
            StreamWriter sw = new StreamWriter(fs, Encoding.Default);
            row = "手机号码,充值密码,是否已用,是否处理,是否已售,使用时间,创建时间,处理时间,购买时间";
            sw.WriteLine(row);
            foreach (DataRow dr in dt.Rows)
            {
                row = "";
                row += dr["Mobile"].ToString()+",=\""+dr["CardPass"]+"\",";//注意这段代码,我们现在的遇到的问题是,把一个例如00072132这样的秘密导出来的时候,前面的000会自动的没有掉,所以做了以上的处理。核心的代码:=""
               ........//以下很多代码均略过
                sw.WriteLine(row);
            }
            sw.Flush();
            sw.Close();
        }
        catch (Exception ex)
        {
            string err = ex.ToString();
        }
    }