public void ExportGridView(System.Web.UI.Control gv, System.Web.UI.Page tmpPage) { PrepareGridViewForExport(gv); tmpPage.Response.AddHeader("content-disposition", "attachment;filename=DataReport.xls"); tmpPage.Response.ContentType = "application/vnd.ms-excel"; tmpPage.Response.Charset = ""; tmpPage.EnableViewState = false; System.IO.StringWriter tw = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw); System.Web.UI.HtmlControls.HtmlForm frm = new System.Web.UI.HtmlControls.HtmlForm(); tmpPage.Controls.Add(frm); frm.Controls.Add(gv); frm.Attributes["runat"] = "server"; frm.RenderControl(hw); tmpPage.Response.Write(tw.ToString()); tmpPage.Response.End(); } public void PrepareGridViewForExport(System.Web.UI.Control gv) { LinkButton lb = new LinkButton(); Literal L = new Literal(); string name = string.Empty; for (int i = 0; i <= gv.Controls.Count - 1; i++) { if (i < gv.Controls.Count) { if (gv.Controls[i].GetType() == typeof(LinkButton)) { //Use only text L.Text = ((LinkButton)gv.Controls[i]).Text; gv.Controls.Remove(gv.Controls[i]); gv.Controls.AddAt(i, L); } else if (gv.Controls[i].GetType() == typeof(DropDownList)) { //Use only Text L.Text = ((DropDownList)gv.Controls[i]).SelectedItem.Text; gv.Controls.Remove(gv.Controls[i]); gv.Controls.AddAt(i, L); } else if (gv.Controls[i].GetType() == typeof(CheckBox)) { //Use only true of false L.Text = (((CheckBox)gv.Controls[i]).Checked ? "True" : "False"); gv.Controls.Remove(gv.Controls[i]); gv.Controls.AddAt(i, L); } } if (i < gv.Controls.Count) { if ((gv.Controls[i].HasControls())) { //if remain control PrepareGridViewForExport(gv.Controls[i]); } } } }
<Triggers> <asp:PostBackTrigger ControlID="btnExportToExcel" /> </Triggers>
เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง