您的位置:首页 > 其它

完成用户数据的导出,生成文本文件Users.txt,实现点击按钮自动下载

2011-10-10 18:58 856 查看
using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Configuration;

using System.Data.SqlClient;

using System.IO;

using System.Text;

public partial class output : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

}

protected void btnoutput_Click(object sender, EventArgs e)

{

string strfile = Server.MapPath("~/") + "users.txt";

string str = ConfigurationManager .ConnectionStrings["sqlcnn"].ConnectionString;

using (SqlConnection sqlcnn = new SqlConnection(str))

{

SqlCommand sqlcmm = new SqlCommand();

sqlcmm.Connection = sqlcnn;

sqlcmm.CommandText = "select * from users";

sqlcnn.Open();

SqlDataReader reader = sqlcmm.ExecuteReader();

using (FileStream fs = new FileStream(strfile, FileMode.Create))

{

StreamReader sr = new StreamReader(fs);

while (reader.Read())

{

//读取数据库中users表中的数据

byte[] data = new UTF8Encoding().GetBytes(reader[0].ToString() + ";");

fs.Write(data, 0, data.Length);

data = new UTF8Encoding().GetBytes(reader[1].ToString() + ";");

fs.Write(data, 0, data.Length);

data = new UTF8Encoding().GetBytes(reader[2].ToString() + ";");

fs.Write(data, 0, data.Length);

data = new UTF8Encoding().GetBytes(reader[3].ToString() + ";");

fs.Write(data, 0, data.Length);

data = new UTF8Encoding().GetBytes(reader[4].ToString() + "\r\n ");

fs.Write(data, 0, data.Length);

}

fs.Flush();

fs.Close();

fs.Dispose();

//点击下载users.txt

string destFileName = "users.txt";

destFileName = Server.MapPath(".") + "\\" + destFileName;

destFileName = Server.UrlDecode(destFileName);

if (File.Exists(destFileName))

{

FileInfo fi = new FileInfo(destFileName);

Response.Clear();

Response.ClearHeaders();

Response.Buffer = false;

Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(Path.GetFileName(destFileName), System.Text.Encoding.UTF8));

Response.AppendHeader("Content-Length", fi.Length.ToString());

Response.ContentType = "application/octet-stream";

Response.WriteFile(destFileName);

Response.Flush();

Response.End();

}

}

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐