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