واضح آرشیو وب فارسی:سایت ریسک: خروجي به اكسل mehrabadi 11 خرداد 1387, 21:39با سلام من خيلي دنبال اين مبحث گشتم ولي يه جواب شسته رفته پيدا نكردم. آقا من مي خوام خروجي گريد ويو رو به يك فايل تو اكسل ارسال كنم. چه كنم.( توضيح همراه سورس كد) با تشكر MDP 12 خرداد 1387, 08:16سورس آماده ندارم باید بشینم بنویسم! اگه با Linq بنویسم که مشکلی نداری؟ mehrabadi 12 خرداد 1387, 11:44ممنون مي شم. ولي اگه ساده ترين حالت برنامه نويسي رو انتخاب كنيد كه تو تمام اديتورها و همچنين سرورها بي هيچ مشكلي كاركنه خيلي بهتره mehrabadi 14 خرداد 1387, 13:31سورس آماده ندارم باید بشینم بنویسم! اگه با Linq بنویسم که مشکلی نداری؟ ميري ميري پيدات نمي شه ... پس چي شد آقاي مدير؟ MDP 19 خرداد 1387, 10:00مثل اینکه تو دوست جان دانشجو نیستی؟ بابا امتحان داریم مثل اینکه ها! :razz: mehrabadi 20 خرداد 1387, 16:06نه بابا جون من هم مثل تو دانشجو هستم اما تنبلی نکردم و درسام رو تو طول ترم خوندم و الان خیالم راحته! MDP 21 خرداد 1387, 08:07سپم ممنوع! 4 تیر کد رو بهت میدم! mrhamidifar 25 خرداد 1387, 09:07اول این کلاس رو به پروژه اضافه کن using System; using System.Data; using System.Configuration; using System.IO; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public class GridViewExportUtil { public static void Export(string fileName, GridView gv) { (); ( "content-disposition", string.Format("attachment; filename={0}", fileName)); = "application/ms-excel"; using (StringWriter sw = new StringWriter()) { using (HtmlTextWriter htw = new HtmlTextWriter(sw)) { Table table = new Table(); if (gv.HeaderRow != null) { GridViewExportUtil.PrepareControlForExport(gv.Head erRow); table.Rows.Add(gv.HeaderRow); } foreach (GridViewRow row in gv.Rows) { GridViewExportUtil.PrepareControlForExport(row); table.Rows.Add(row); } if (gv.FooterRow != null) { GridViewExportUtil.PrepareControlForExport(gv.Foot erRow); table.Rows.Add(gv.FooterRow); } table.RenderControl(htw); (sw.ToString()); (); } } } private static void PrepareControlForExport(Control control) { for (int i = 0; i < control.Controls.Count; i++) { Control current = control.Controls[i]; if (current is LinkButton) { control.Controls.Remove(current); control.Controls.AddAt(i, new LiteralControl((current as LinkButton).Text)); } else if (current is ImageButton) { control.Controls.Remove(current); control.Controls.AddAt(i, new LiteralControl((current as ImageButton).AlternateText)); } else if (current is HyperLink) { control.Controls.Remove(current); control.Controls.AddAt(i, new LiteralControl((current as HyperLink).Text)); } else if (current is DropDownList) { control.Controls.Remove(current); control.Controls.AddAt(i, new LiteralControl((current as DropDownList).SelectedItem.Text)); } else if (current is CheckBox) { control.Controls.Remove(current); control.Controls.AddAt(i, new LiteralControl((current as CheckBox).Checked ? "True" : "False")); } if (current.HasControls()) { GridViewExportUtil.PrepareControlForExport(current ); } } } } بعد برای ارسال به اکسل این کد رو تویه رویدادی که میخوای بنویس GridViewExportUtil.Export("Statistics.xls", GridView1); Statistics.xls اسم فایل رو هرچی دلت خواست بزار GridView1 : به جای این ID گرید ویو رو بنویس فکر نکنم ازاین تمیز تر چیزی باشه ؟ نه ؟
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 6138]