`
流星剑
  • 浏览: 91794 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

数据绑定控件导出到excel

    博客分类:
  • .net
阅读更多

aspx页面代码

<div>
        <asp:GridView ID="GridView1" runat="server">
        </asp:GridView>
        <asp:Button ID="Button1" runat="server" Text="导出到Excel" OnClick="Button1_Click" />
        <!--datalist的导出-->
     <asp:DataList ID="DataList1" runat="server">
            <ItemTemplate>
                <table>
                    <tr>
                        <td><%#Eval("itemId")%>
                        </td>
                        <td>
                        <%#Eval("title")%>
                        </td>
                        <td><%#Eval("price")%>
                        </td>
                        <td><%#Eval("imageUrl")%>
                        </td>                        
                    </tr>
                </table>
            </ItemTemplate>
        </asp:DataList>
        <asp:Button ID="Button2" runat="server" Text="Button" OnClick="Button2_Click" />
        <!--detailsView的导出-->
        <asp:DetailsView ID="DetailsView1" runat="server" Height="50px" Width="125px">
        </asp:DetailsView>
        <asp:Button ID="Button3" runat="server" Text="detailview的导出" 
            onclick="Button3_Click" />
            <!--formview的导出-->
        <asp:FormView ID="FormView1" runat="server">
           <ItemTemplate>
           <table>
                    <tr>
                        <td><%#Eval("itemId")%>
                        </td>
                        <td>
                        <%#Eval("title")%>
                        </td>
                        <td><%#Eval("price")%>
                        </td>
                        <td><%#Eval("imageUrl")%>
                        </td>                        
                    </tr>
               </table>
          </ItemTemplate> 
        </asp:FormView>
        <asp:Button ID="Button4" runat="server" Text="FormView的导出" 
            onclick="Button4_Click" />
            <!--repeater控件导出-->
        <asp:Repeater ID="Repeater1" runat="server">
        <ItemTemplate>
          <table>
                    <tr>
                        <td><%#Eval("itemId")%>
                        </td>
                        <td>
                        <%#Eval("title")%>
                        </td>
                        <td><%#Eval("price")%>
                        </td>
                        <td><%#Eval("imageUrl")%>
                        </td>                        
                    </tr>
                </table>
        </ItemTemplate>
        </asp:Repeater>
        <asp:Button ID="Button5" runat="server" Text="repeater的导出" 
            onclick="Button5_Click" />
            <!--listview控件导出-->
        <asp:ListView ID="ListView1" runat="server">
           <LayoutTemplate>           
          <table cellpadding="2" runat="server" id="tblDepartments" width="640px" cellspacing="0">           
           <tr id="itemPlaceholder" runat="server"></tr>
          </table> 
        </LayoutTemplate>
        <ItemTemplate>
          <tr id="Tr1" runat="server">            
            <td>
              <asp:Label ID="IDLabel" runat="server" Text='<%#Eval("itemId") %>' />
            </td>
            <td>
              <asp:Label ID="NameLabel" runat="server" Text='<%#Eval("title") %>' />
            </td>
            <td>
              <asp:Label ID="GroupNameLabel" runat="server" Text='<%#Eval("price") %>' />
            </td>
          </tr>
        </ItemTemplate>
        </asp:ListView>
        <asp:Button ID="Button6" runat="server" Text="listview导出" 
            onclick="Button6_Click" />
    </div>

 

后台代码:

using System;
using System.IO;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Company.DAL;
using System.Text;

public partial class dataToExcel : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            getData();
        }
    }
    public void getData()
    {
        ItemDAL iadl = new ItemDAL();
        GridView1.DataSource= iadl.GetDataSet().Tables[0];
        GridView1.DataBind();
        DataList1.DataSource = iadl.GetDataSet().Tables[0];
        DataList1.DataBind();
        DetailsView1.DataSource = iadl.GetDataSet().Tables[0];
        DetailsView1.DataBind();
         FormView1.DataSource = iadl.GetDataSet().Tables[0];
         FormView1.DataBind();
         Repeater1.DataSource = iadl.GetDataSet().Tables[0];
         Repeater1.DataBind();
         ListView1.DataSource = iadl.GetDataSet().Tables[0];
         ListView1.DataBind();
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        DataToExcel(this.GridView1,"订单");
    }
    /// <summary>
    /// 导出到Excel
    /// </summary>
    /// <param name="gv">gridview类型</param>
    /// <param name="ExcName">导出的excel文件名字</param>
    public void DataToExcel(GridView gv, string ExcName)
    {
        Response.Clear();
        //Response.Charset = "UTF-8";
        //Response.Charset = "GB2312"; 可以不用设置编码格式
        Response.AppendHeader("Content-Disposition", "attachment;filename=" + ExcName + ".xls");
        //Response.ContentEncoding = System.Text.Encoding.Default;
        //Response.ContentEncoding = Encoding.UTF8;
        HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
        StringWriter sw = new StringWriter();
        HtmlTextWriter htw = new HtmlTextWriter(sw);
        //gv.HeaderStyle.Font.Bold = true;
       // gv.EnableViewState = false;       
        gv.RenderControl(htw);
        Response.Write(sw.ToString());
        Response.End();
    }
    //如果没有重写方法会报错类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内    
    public override void VerifyRenderingInServerForm(Control control)
    {
        //base.VerifyRenderingInServerForm(control);
    }

    #region datalist的导出  
    public void DataToExcel(DataList gv, string ExcName)
    {
        Response.Clear();
        //Response.Charset = "UTF-8";
        //Response.Charset = "GB2312"; 可以不用设置编码格式
        Response.AppendHeader("Content-Disposition", "attachment;filename=" + ExcName + ".xls");
        //Response.ContentEncoding = System.Text.Encoding.Default;
        //Response.ContentEncoding = Encoding.UTF8;
        HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
        StringWriter sw = new StringWriter();
        HtmlTextWriter htw = new HtmlTextWriter(sw);
        //gv.HeaderStyle.Font.Bold = true;
        // gv.EnableViewState = false;       
        gv.RenderControl(htw);
        Response.Write(sw.ToString());
        Response.End();
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        DataToExcel(this.DataList1, "订单2");
    }
    #endregion

    #region detailview的导出 
    public void DataToExcel(DetailsView gv, string ExcName)
    {
        Response.Clear();
        //Response.Charset = "UTF-8";
        //Response.Charset = "GB2312"; 可以不用设置编码格式
        Response.AppendHeader("Content-Disposition", "attachment;filename=" + ExcName + ".xls");
        //Response.ContentEncoding = System.Text.Encoding.Default;
        //Response.ContentEncoding = Encoding.UTF8;
        HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
        StringWriter sw = new StringWriter();
        HtmlTextWriter htw = new HtmlTextWriter(sw);
        //gv.HeaderStyle.Font.Bold = true;
        // gv.EnableViewState = false;       
        gv.RenderControl(htw);
        Response.Write(sw.ToString());
        Response.End();
    }
    protected void Button3_Click(object sender, EventArgs e)
    {
        DataToExcel(this.DetailsView1, "订单3");
    }
   #endregion

    #region formview的导出
    public void DataToExcel(FormView gv, string ExcName)
    {
        Response.Clear();
        //Response.Charset = "UTF-8";
        //Response.Charset = "GB2312"; 可以不用设置编码格式
        Response.AppendHeader("Content-Disposition", "attachment;filename=" + ExcName + ".xls");
        //Response.ContentEncoding = System.Text.Encoding.Default;
        //Response.ContentEncoding = Encoding.UTF8;
        HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
        StringWriter sw = new StringWriter();
        HtmlTextWriter htw = new HtmlTextWriter(sw);
        //gv.HeaderStyle.Font.Bold = true;
        // gv.EnableViewState = false;       
        gv.RenderControl(htw);
        Response.Write(sw.ToString());
        Response.End();
    }
    protected void Button4_Click(object sender, EventArgs e)
    {
        DataToExcel(this.FormView1, "订单4");
    }
    #endregion

    #region repeater的导出   
    public void DataToExcel(Repeater gv, string ExcName)
    {
        Response.Clear();
        //Response.Charset = "UTF-8";
        //Response.Charset = "GB2312"; 可以不用设置编码格式
        Response.AppendHeader("Content-Disposition", "attachment;filename=" + ExcName + ".xls");
        //Response.ContentEncoding = System.Text.Encoding.Default;
        //Response.ContentEncoding = Encoding.UTF8;
        HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
        StringWriter sw = new StringWriter();
        HtmlTextWriter htw = new HtmlTextWriter(sw);
        //gv.HeaderStyle.Font.Bold = true;
        // gv.EnableViewState = false;       
        gv.RenderControl(htw);
        Response.Write(sw.ToString());
        Response.End();
    }
    protected void Button5_Click(object sender, EventArgs e)
    {
        DataToExcel(this.Repeater1, "订单5");
    }
    #endregion

    public void DataToExcel(ListView gv, string ExcName)
    {
        Response.Clear();
        //Response.Charset = "UTF-8";
        //Response.Charset = "GB2312"; 可以不用设置编码格式
        Response.AppendHeader("Content-Disposition", "attachment;filename=" + ExcName + ".xls");
        //Response.ContentEncoding = System.Text.Encoding.Default;
        //Response.ContentEncoding = Encoding.UTF8;
        HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
        StringWriter sw = new StringWriter();
        HtmlTextWriter htw = new HtmlTextWriter(sw);
        //gv.HeaderStyle.Font.Bold = true;
        // gv.EnableViewState = false;       
        gv.RenderControl(htw);
        Response.Write(sw.ToString());
        Response.End();
    }
    protected void Button6_Click(object sender, EventArgs e)
    {
        DataToExcel(this.ListView1, "订单6");
    }
}

 

分享到:
评论

相关推荐

    将Repeater控件数据导出到Excel或Word

    //将控件Repeater中的数据导出到Excel或Word中 //将下列代码放入需要导出数据的.aspx文件对应的.cs文件中 // private void Export(String FileType, String FileName) { Response.Clear(); Response....

    第7章 数据绑定控件

    第7章 数据绑定控件 300 7.1 数据绑定技术 301 实例188 格式化订货金额和订单日期并 进行绑定 301 实例189 使用绑定表达式高亮显示搜索关键字 302 实例190 Eval()绑定图书图片并实现单击图片 进行链接 304 实例191 ...

    c#、asp.net 中将数据导出成word或者excel文件的控件

    c#、asp.net 中将数据导出成word或者excel文件的控件 直接可以拖到界面 与自己的数据控件绑定 以及设置导出的类型就可以了

    自带列拖动,排序,分页,列增减,导出等功能的Grid数据绑定控件,只需绑定对应的数据源即可。

    本资源,拥有功能多,分页,导出excel,xml,列拖动,列删除,列增加。使用很简单,只需按照里面的说明,引用相关dll,然后里面提供了一个页面,大家可以按照这个页面的做法,创建其他的页面。注意数据的字段就可以了...

    RDLC绑定本地数据源示例程序

    RDLC报表绑定本地数据源 ============================= 1、简单易用的控件,特别是Table控件,非常方便字段在报表上的排列 2、灵活的可定制性,用XML来描述一个报表相关的一切 3、高度可编程性,在你的项目中,甚至...

    C#中对EXCEL的各种操作总结

    对导入和导出excel、界面控件数据源绑定到EXCEL,适合中级开发人员参考。

    WinForm界面开发之“分页控件”

    我希望控件能够尽可能的多一些功能,耦合性低一些,例如我不想是基于存储过程的,因为我很多程序需要使用Access作为数据库,一般来说,我还希望有导出Excel数据的功能,还有打印预览功能,由于我的数据源表头,如...

    C#通讯录代码 2.0

    1、类的序列化 2、从注册表中存储和读取二进制信息 ...8、使用线程将DataGridView数据导出到Excel 9、简单报表实例,及数据打印 10、使用简单的反射机制打开Form 欢迎大家提出宝贵的意见。 等等。。。

    DataGridView打印控件

    窗口程序使用演示,包含多个打印控件在窗口程序使用的实例及源代码(有C#的,也有VB的),有源代码 打印控件,实际的打印控件(含.NET4.0的专用打印控件) ...7、网页GridView打印中可以打印非绑定到数据源的GridView

    GridView使用集合

    1、导出Excel,Word 2、导入Excel 三、多层嵌套 1、在父GridView中的编辑模板中嵌套一个子GridView 2、三层GridView嵌套 四、分页排序 1、分页 2、列排序,点击列升序、降序排序 五、结合控件 1、CheckBox控件,多选...

    vue-excel-editor:用于以 Excel 样式显示和编辑对象数组的 Vue2 插件

    它支持以下功能: 类似 Excel 的用户界面真正的2路数据绑定列过滤列排序导出到 Excel/CSV 分页行选择更新所有选定行中的单元格编辑键支持:up, down, left, right, page-up, page-down, tab, del, bs, enter, esc ...

    Excel VBA实用技巧大全 附书源码

    01069获取Excel命令按钮的外观图像和FaceID号(添加到自定义工具栏) 01070获取Excel命令按钮的外观图像和FaceID号(输出到工作表) 01071改变Excel命令按钮的外观图像 01072删除、恢复Excel菜单栏和工具栏 01073...

    asp.net学习大全(超全面的资料整合)

    GridView导出excel 小山的TreeView数据绑定方法 ADO.NET在开发中的部分使用方法和技巧.txt ADO.NET中的视图和过滤器.doc ASP .NET - ArrayList对象.txt asp.net 2.0中TREEVIEW中动态增加结点.txt Asp.net 实现验证码...

    ASP.NET学习大全

    GridView导出excel 小山的TreeView数据绑定方法 ADO.NET在开发中的部分使用方法和技巧.txt ADO.NET中的视图和过滤器.doc ASP .NET - ArrayList对象.txt asp.net 2.0中TREEVIEW中动态增加结点.txt Asp.net 实现验证码...

    DotNET_CS(WinForm)开发技巧点滴

    .NET C/S(WinForm)开发技巧点滴 数据绑定,数据导出到 Excel,防止子窗口重复打开,确保某一子窗口只打开一次,使用枚举 enum 区分类同信息,在ToolStrip中加入其它WinForm控件。

    多形式报表源码 Gscr.Report控件

    Gscr.Report控件(广源报表控件)实现报表自由定义,报表显示、打印预览、打印、公式、排序、导出等报表常见功能,是一款较好报表控件。 ---以下是引用官方部分简介--- Gscr.Report控件(广源报表控件)是专为.NET For ...

    DevExpressVCL 23.1.4 D12.7z

    报表和打印:DevExpress VCL提供了先进的报表设计工具和打印功能,可以帮助开发人员创建复杂的报表,并将其打印或导出为PDF、Excel等格式。它支持多种报表样式和布局选项,使开发人员能够创建专业水平的报表。 图形...

    asp.net 各种事例

    Ch3_23:将GridView中数据导出到Excel并进行格式化处理 Ch3_24:AdRotator控件的使用. Ch3_28:打开窗口显示广告信息 Ch3_29:自动关闭的广告窗口 Ch3_30:多文件上传 Ch3_31:在GridView中点击行实现链接...

Global site tag (gtag.js) - Google Analytics