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