首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

gridview导入到Excel 导出后只有gridview以外的数据,刚好没有gridview中的数据解决办法

2013-01-26 
gridview导入到Excel 导出后只有gridview以外的数据,刚好没有gridview中的数据本帖最后由 edchen 于 2013-

gridview导入到Excel 导出后只有gridview以外的数据,刚好没有gridview中的数据
本帖最后由 edchen 于 2013-01-17 16:55:47 编辑 gridview导入到Excel 导出后只有gridview以外的数据,刚好没有gridview中的数据

//cs 

public override void VerifyRenderingInServerForm(Control control)
    {
    }
    protected void btnExcelError_Click(object sender, EventArgs e)
    {
        GridViewToExcel(RecordToolbar1);
    }

    public void GridViewToExcel(GridView _GridView)
    {
        Response.Clear();
        Response.BufferOutput = true;
        //设定输出的字符集
        Response.Charset = "GB2312";
        //假定导出的文件名为MyExcelFile.xls
        Response.AppendHeader("Content-Disposition", "attachment;filename=MyExcelFile.xls");
        Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");

        System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("ZH-CN", true);
        System.IO.StringWriter stringWriter = new System.IO.StringWriter(cultureInfo);
        System.Web.UI.HtmlTextWriter textWriter = new System.Web.UI.HtmlTextWriter(stringWriter);
        _GridView.RenderControl(textWriter);
        //把HTML写回浏览器
        Response.Write(stringWriter.ToString());
        Response.End();   
    }


//前台

                            
<asp:GridView ID="RecordToolbar1" runat="server" AutoGenerateColumns="False" Width="98%"
                                Height="60px" text-align="center" CssClass="grid" EnableViewState="False">
                                <HeaderStyle CssClass="gridHeader" />
                                <PagerSettings Visible="false" />
                                <RowStyle CssClass="gridItem" />
                                <Columns>
                                    <asp:BoundField DataField="部门" HeaderText="部门">


                                        <ItemStyle Width="19%" HorizontalAlign="Center" />
                                    </asp:BoundField>
                                    <asp:BoundField DataField="姓名" HeaderText="员工">
                                        <ItemStyle HorizontalAlign="Center" />
                                    </asp:BoundField>
                                    <asp:TemplateField HeaderText="分机号">
                                        <ItemStyle Width="24%" />
                                        <ItemTemplate>
                                            <asp:TextBox ID="txtConfigInfor" ReadOnly="true" runat="server" Text='<%# Eval("ConfigInfor") %>'
                                                Width="570"></asp:TextBox>
                                            <cc1:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" TargetControlID="txtConfigInfor"
                                                CompletionSetCount="10" EnableCaching="true" MinimumPrefixLength="1" ServiceMethod="GetUseCallList"
                                                ServicePath="~/WebService/AutoCompleteService.asmx">


                                            </cc1:AutoCompleteExtender>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:BoundField DataField="OK" HeaderText="正确">
                                        <ItemStyle HorizontalAlign="Center" />
                                    </asp:BoundField>
                                    <asp:BoundField DataField="why" HeaderText="错误原因">
                                        <ItemStyle HorizontalAlign="Center" />
                                    </asp:BoundField>
                                    <asp:BoundField DataField="examTime" HeaderText="匹配时间">
                                        <ItemStyle Width="16%" HorizontalAlign="Center" />
                                    </asp:BoundField>
                                </Columns>
                            </asp:GridView>

gridview .net c#
[解决办法]
简单例子  导出excel

     protected void btnExcelError_Click(object sender, EventArgs e)


     {     
        string strFileNames = DateTime.Now.ToShortDateString();
        ToExcel(this.RecordToolbar1, strFileNames);
     } 
    public static void ToExcel(System.Web.UI.Control col, string fname)
    {
        HttpContext.Current.Response.Clear();
        HttpContext.Current.Response.Buffer = true;
        //Context.Current.Response.Clear();
        HttpContext.Current.Response.Charset = "gb2312";
        HttpContext.Current.Response.ContentEncoding =  System.Text.Encoding.GetEncoding("utf-7");
        HttpContext.Current.Response.ContentType = "application/ms-excel";
        HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + "" + HttpUtility.UrlEncode(fname, System.Text.Encoding.UTF8) + ".xls");
        col.Page.EnableViewState = false;
        System.IO.StringWriter tw = new System.IO.StringWriter();
        System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
        col.RenderControl(hw);
        HttpContext.Current.Response.Write(tw.ToString());
        HttpContext.Current.Response.End();
    }


[解决办法]
啥叫 只有“只有gridview以外的数据”

你到百度上 搜“清清月儿” gridview 72般绝技,最后一个,就是导出到excel,你拿过来就可以

你仔细看看是怎么实现的。

热点排行