×

gridview导出excel

gridview导出excel(如何把GRIDVIEW的数据导出为EXCEL)

admin admin 发表于2024-03-22 00:15:02 浏览28 评论0

抢沙发发表评论

本篇文章给大家谈谈gridview导出excel,以及如何把GRIDVIEW的数据导出为EXCEL对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

本文目录

如何把GRIDVIEW的数据导出为EXCEL

给你一个DataGrid的代码: // 导出列表信息到Excel public static void gSendGridInfoToExcel(DataGrid GridX) { Excel.Application excel= new Excel.ApplicationClass(); Excel._Workbook xBk = excel.Workbooks.Add(true); Excel._Worksheet xSt = (Excel._Worksheet)xBk.ActiveSheet; Excel.Range excelCell=null; try { //赋值对象 object objarr; DataTable dtTest=new DataTable();; int i,j; int iRows,iCows; int iVisable; iVisable=0; iCows=0; ArrayList list=new ArrayList(); //如果绑定数据源是DataTable和DataSet,取得行数 if (GridX.DataSource is System.Data.DataSet || GridX.DataSource is System.Data.DataTable) { dtTest=(DataTable)GridX.DataSource; iRows=dtTest.Rows.Count; } else if (GridX.DataSource is System.Data.DataView) { DataView dvTest=(DataView)GridX.DataSource; iRows=dvTest.Count; dtTest=dvTest.Table; } //如果是集合取得行数 else { System.Collections.CollectionBase ColTest; ColTest=(System.Collections.CollectionBase)GridX.DataSource; iRows=ColTest.Count; } //如果有TableStyles则根据TableStyles取得(标题行) if (GridX.TableStyles.Count》0) { iCows=GridX.TableStyles.GridColumnStyles.Count; for(i=0;i《iCows;i++) { if(GridX.TableStyles.Width》0) { iVisable++; list.Add(GridX.TableStyles.HeaderText); } } objarr = new object; objarr=list.ToArray(); excelCell = xSt.get_Range(excel.Cells); excelCell.Value2 = objarr; //数据行 for(i=0;i《iRows;i++) { objarr = new object; list.Clear(); for(j=0;j《iCows;j++) { if(GridX.TableStyles.Width》0) { list.Add("’"+GridX.ToString().Replace("\n","")); } } if (list.Equals(System.DBNull.Value)) { break; } objarr=list.ToArray(); excelCell = xSt.get_Range(excel.Cells); excelCell.Value2 = objarr; } } else { iCows=dtTest.Columns.Count; for(i=0;i《iCows;i++) { list.Add(dtTest.Columns.Caption); } objarr = new object; objarr=list.ToArray(); excelCell = xSt.get_Range(excel.Cells); excelCell.Value2 = objarr; //数据行 for(i=0;i《iRows;i++) { objarr = new object; list.Clear(); for(j=0;j《iCows;j++) { list.Add("’"+GridX.ToString().Replace("\n","")); } if (list.Equals(System.DBNull.Value)) { break; } objarr=list.ToArray(); excelCell = xSt.get_Range(excel.Cells); excelCell.Value2 = objarr; } } dtTest.Dispose(); excel.Visible=true; } catch (System.Exception e) { throw e; } finally { excelCell=null; xBk=null; xSt=null; excel=null; GC.Collect(); } } }

asp.net下如何将Gridview 表里的信息导出到一张新建的Excel表中

这是写在点击输出方法里面Export("application/ms-excel","Person.xls");这是输出方法Export private void Export(string FileType, string FileName) { Response.Charset = "GB2312"; Response.ContentEncoding = System.Text.Encoding.UTF7; Response.AppendHeader("Content-Disposition","attachment;filename="+HttpUtility.UrlDecode(FileName,Encoding.UTF8).ToString()); Response.ContentType =FileType; this.EnableViewState = false; StringWriter tw = new StringWriter(); HtmlTextWriter hw = new HtmlTextWriter(tw); gvPerson.AllowPaging = false; Ds = FpersonOper.Get_PersonTable("and UnitID = " + Ffun_lee.QuotedStr(prUnitID), gvPerson);//绑定数据库 gvPerson.DataBind(); gvPerson.RenderControl(hw); Response.Write(tw.ToString()); Response.ContentType = "text/.xls"; Response.End(); }

asp.net gridview数据导出到excel

参考一下我做的,可以直接复制 protected void Button1_Click(object sender, EventArgs e) { ExcelOut(this.GridView1); } public void ExcelOut(GridView gv) { if (gv.Rows.Count 》 0) { Response.Clear(); Response.ClearContent(); Response.AddHeader("Content-Disposition", "attachment; filename=" + DateTime.Now.ToString("_yyyyMMdd_HHmmss") + ".xls"); Response.ContentEncoding = System.Text.Encoding.UTF8; Response.ContentType = "application/ms-excel"; StringWriter sw = new StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw); gv.RenderControl(htw); Response.Write(sw.ToString()); Response.Flush(); Response.End(); } else { Response.Write("没有数据"); } } public override void VerifyRenderingInServerForm(Control control) { //base.VerifyRenderingInServerForm(control); }

c#.net 中 如何将gridview中的数据导出到excel中

/// 《summary》 /// 导出Datatable的数据到excel /// 《/summary》 /// 《param name="dt"》datatable《/param》 private void CreateExcel(DataTable dt) { try { string fileName = DateTime.Now.ToString("yyyyMMddHHmm") + ".xls"; HttpResponse resp; resp = Page.Response; resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); resp.AppendHeader("Content-Disposition", "attachment;filename=" + fileName); resp.ContentType = "application/ms-excel"; string colHeaders = "", ls_item = ""; //定义表对象与行对象,同时用DataSet对其值进行初始化 DataRow myRow = dt.Select(); int i = 0; int cl = dt.Columns.Count; //取得数据表各列标题,各标题之间以t分割,最后一个列标题后加回车符 colHeaders += dt.Columns.Caption.Replace("ID", "编号") + "\t"; colHeaders += dt.Columns.Caption.Replace("FuncID", "操作名称") + "\t"; colHeaders += dt.Columns.Caption.Replace("logtypes", "操作类型") + "\t"; colHeaders += dt.Columns.Caption.Replace("LogDec", "操作内容") + "\t"; colHeaders += dt.Columns.Caption.Replace("UserID", "用户名称") + "\t"; colHeaders += dt.Columns.Caption.Replace("CreateTime", "操作时间") + "\n"; resp.Write(colHeaders); //向HTTP输出流中写入取得的数据信息 //当前行数据写入HTTP输出流,并且置空ls_item以便下行数据 for (i = 0; i 《 dt.Rows.Count; i++) { //if (i == (cl - 1))//最后一列,加n ls_item += dt.Rows.ToString() + "\t"; ls_item += dt.Rows.ToString() + "\t"; ls_item += dt.Rows.ToString() + "\t"; ls_item += dt.Rows.ToString().Replace("\r\n", "") + "\t"; if (dt.Rows.ToString().Trim() == "") { ls_item += "无姓名" + "\t"; } else { ls_item += dt.Rows.ToString() + "\t"; } ls_item += dt.Rows.ToString() + "\n"; } resp.Write(ls_item); ls_item = ""; resp.End(); } catch (Exception) { throw; } } protected void btiiii_Click(object sender, EventArgs e) { try { DCExecl(Convert.ToInt32(this.txtstrPageindex.Value), Convert.ToInt32(this.txtendPageindex.Value)); new Facade.SystemLog().SaveSystemLogCode("系统日志",(int)Facade.EnumMuster.LOG_TYPE.DEVICE_OPERATION,Session.ToString()+"导出系统日志数据"); } catch (Exception) { throw; } }}适当修改就行·

asp.net中GridView 数据导出到excel表中怎么弄,说点详细的方法,越具体越好

引用的别人的:Gridview导出为Excel 尝试了一下Gridview导出为Excel,原本以为很简单,可是真正应用起来还是不太好弄的,呵呵,所想非所得。总结了一下应该注意下面几点:1.由于gridview的内容可能是分页显示的,因此,这里在每次导出excel时,先将gridview的allowpaging属性设置为false,然后databind()一下,确保搂到所有数据;2.不用单独设置导出的路径,导出时会弹出对话框让你确认保存位置;3.要写一个空的VerifyRenderingInServerForm方法(必须写),以确认在运行时为指定的ASP.NET 服务器控件呈现HtmlForm 控件;4.导出后别忘记再重新设置其allowpaging属性; 当我把这些都设置好以后,点击,出现了 只能在执行 Render() 的过程中调用 RegisterForEventValidation(RegisterForEventValidation can only be called during Render(); ) 的错误,又检查代码,没发现问题啊,搞了一会弄不出来,然后搜索了一下,发现了解决办法:修改你的aspx文件中的:《%@ Page Language="C#" EnableEventValidation = "false" AutoEventWireup="true" CodeFile="SysUser.aspx.cs" Inherits="Autho_SysUser2" %》增加红色的部分就ok了。下面是代码和截图: #region 导出为Excel public override void VerifyRenderingInServerForm(Control control) { // Confirms that an HtmlForm control is rendered for } private void ToExcel(Control ctl, string FileName) { HttpContext.Current.Response.Charset = "UTF-8"; HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8; HttpContext.Current.Response.ContentType = "application/ms-excel"; HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + "" + FileName); ctl.Page.EnableViewState = false; System.IO.StringWriter tw = new System.IO.StringWriter(); HtmlTextWriter hw = new HtmlTextWriter(tw); ctl.RenderControl(hw); HttpContext.Current.Response.Write(tw.ToString()); HttpContext.Current.Response.End(); } private void toExcelClk() { gvSysUser.AllowPaging = false; gvSysUser.AllowSorting = false; gvSysUser.DataBind(); ToExcel(gvSysUser, "OFS_Data.xls"); gvSysUser.AllowPaging = true; gvSysUser.AllowSorting = true; gvSysUser.DataBind(); } #endregion

怎么将gridview里查询的结果导出Excel表中

你个笨蛋,先把查询的结果存在一个临表里,然后把临时表里面的内容给EXCEL就行了。

.net中两个GRIDVIEW导出到一个excel

你把两个GridView放在一个div里,比如这样《divrunat="server"id="divExport"》《gridview1.....》《gridview2.....》《/div》然后后台gvSelectorder.RenderControl(oHtmlTextWriter);这句改成divExport.RenderControl(oHtmlTextWriter);试一下

如何把GRIDVIEW的数据导出为EXCEL的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于如何把GRIDVIEW的数据导出为EXCEL、如何把GRIDVIEW的数据导出为EXCEL的信息别忘了在本站进行查找哦。