asp.net (c#) ile içerikleri notepad e aktarma işlemi için aşağıdaki kodları uygulayabilirsiniz.
Öncelikle using e eklemeler yapmamız lazım. Bendeki şöyle:
using System; using AlmostromFrameWork.UserInterFace; using System.Web.UI.WebControls; using System.IO; using System.Text; using System.Data;
Burada verilerimizi notepad’e aktarıyoruz. Ben dataset kullandım. Datasetten üye maillerini çekiyorum. Notepad e üye maillerini aktaracağım
void NotpadYaz()
{
EyurtseverTableAdapters.TumUyelerTableAdapter adapMus = new EyurtseverTableAdapters.TumUyelerTableAdapter();
Eyurtsever.TumUyelerDataTable dtMus = new Eyurtsever.TumUyelerDataTable();
StreamWriter sw = File.CreateText(Server.MapPath("~/dosyalar/mailler.txt")); // notepad dosyasının bulunduğu yer
StringBuilder Sb = new StringBuilder();
Sb.Append(" id<>0");
adapMus.Fill(dtMus);
DataView Dv = new DataView(dtMus);
if ((!string.IsNullOrEmpty(Sb.ToString())))
Dv.RowFilter = Sb.ToString();
for (int i = 0; i < Dv.Count; i++) // veritabanından gelen üyeleri for ile döndürüyorum
{
if(Dv[i]["Eposta"].ToString() != null)
sw.WriteLine(Dv[i]["Eposta"].ToString()); // her satıra bir kayıt ekliyorum
}
sw.Flush();
sw.Close();
}
Yukarıda notepad oluşturduk ve kayıtları ekledik. Şimdi notepad dosyasını download edelim
void DosyaIndir()
{
string yeni_dosya = "eyurtsever-com-mailler.txt"; // dosyamıza isim verelim
string dosyaUrl = @Server.MapPath("~/dosyalar/mailler.txt");//buradan sonra dosyamızı indirme işlemine başlıyoruz.
FileStream fs = new FileStream(dosyaUrl, FileMode.Open, FileAccess.Read);
byte[] buffer = new byte[(int)fs.Length];
fs.Read(buffer, 0, (int)fs.Length);
fs.Close();
Response.Clear();
Response.AddHeader("Content-Length", buffer.Length.ToString()); //içeriğin uzunluğu AddHeader fonksiyonuna gonderiliyor...
Response.AddHeader("Content-Disposition", "attachment; filename=" + yeni_dosya);
Response.BinaryWrite(buffer);
Response.End();
}
burada da download işlemini gerçekleştirdik. Şimdi Bu kodların ne zaman çalışacağını belirtmemiz lazım. Ben Butona tıklandığında çalışmasını istiyorum. O yüzden şöyle yapıyorum.
protected void btnAktar_Click(object sender, EventArgs e)
{
try
{
this.NotpadYaz(); // kayıtları ekledim
this.DosyaIndir(); // indirme işlemini yaptık
Response.Write("Mail Adresleri Dışarı Aktarıldı.");
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}