ایجاد و دانلود فایل Csv به صورت داینامیک در Asp.Net
یکشنبه 12 مهر 1394در این مقاله قصد داریم در مورد ایجاد و دانلود فایل Csv در Asp.Net صحبت کنیم ، ابتدا داده ها در یک DataTable قرار می گیرند و بعد از آن داخل یک فایل Csv فرستاده می شود.
یک پایگاه داده ایجاد کنید و یک جدول به نام Customers داخل آن بسازید.به صورت زیر:
اطلاعاتی داخل جدول وارد نمایید به صورت تصویر زیر:
داخل صفحه ی DesignUI قطعه کد مورد نظر را وارد نمایید.
<body dir="rtl"> <form id="form1" runat="server"> <h3> <a href="http://barnamenevisan.org/">برنامه نویسان</a></h3> <asp:Button Text="ساخت فایل Csv" OnClick="ExportCSV" runat="server" /> </form> </body>
NameSpace زیر را وارد نمایید.
using System.Data; using System.Configuration; using System.Data.SqlClient;
زمانی که دکمه ی Export زده می شود، یک DataTable با سوابق جدول مشتریان پر می شود، و بعد شروع به دانلود فایل Csv می کند.
در Code Behind قطعه کد زیر را می نویسید:
protected void OnClick(object sender, EventArgs e) { string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString; using (SqlConnection con = new SqlConnection(constr)) { using (SqlCommand cmd = new SqlCommand("SELECT * FROM Customers")) { using (SqlDataAdapter sda = new SqlDataAdapter()) { cmd.Connection = con; sda.SelectCommand = cmd; using (DataTable dt = new DataTable()) { sda.Fill(dt); //Build the CSV file data as a Comma separated string. string csv = string.Empty; foreach (DataColumn column in dt.Columns) { //Add the Header row for CSV file. csv += column.ColumnName + ','; } //Add new line. csv += "\r\n"; foreach (DataRow row in dt.Rows) { foreach (DataColumn column in dt.Columns) { //Add the Data rows. csv += row[column.ColumnName].ToString().Replace(",", ";") + ','; } //Add new line. csv += "\r\n"; } //Download the CSV file. Response.Clear(); Response.Buffer = true; Response.AddHeader("content-disposition", "attachment;filename=SqlExport.csv"); Response.Charset = ""; Response.ContentType = "application/text"; Response.Output.Write(csv); Response.Flush(); Response.End(); } } } } }
داخل Web Config حتما Connection String زیر را وارد نمایید.
<connectionStrings> <add name="constr" connectionString="Data Source=.;Initial Catalog=Customers; User ID=sa;Password=123;integrated security=true"/> </connectionStrings>
بعد از اجرا وقتی دکمه را بزنید فایل Csv مورد نطر اطلاعات را داخل دیتابیس می خواند و داخل این فایل ایجاد می شود و آماده ی دانلود شدن است خروجی به صورت زیر خواهد بود.
- ASP.net
- 1k بازدید
- 1 تشکر