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

ASP.NET EXCEL导出的有关问题,高手帮一下忙

2012-03-07 
ASP.NET EXCEL导出的问题,高手帮一下忙.%@PageLanguage C# AutoEventWireup true CodeFile Defau

ASP.NET EXCEL导出的问题,高手帮一下忙.
<%@   Page   Language= "C# "   AutoEventWireup= "true "     CodeFile= "Default.aspx.cs "   Inherits= "_Default "   %>

<%@   Register   Assembly= "WFNetCtrl "   Namespace= "WFNetCtrl "   TagPrefix= "cc1 "   %>


<html   xmlns= "http://www.w3.org/1999/xhtml "   >
<head   runat= "server ">
        <title> 无标题页 </title>
</head>
<body>
        <form   id= "form1 "   runat= "server ">
                                        <asp:Button   ID= "Button2 "   runat= "server "   OnClick= "Button2_Click "   Text= "Button "   />
                                        <asp:Button   ID= "Button1 "   runat= "server "   OnClick= "Button1_Click "   Text= "Button "   /> &nbsp;
                <asp:GridView   ID= "GridView1 "   runat= "server ">
                </asp:GridView>
        </form>
</body>    
</html>


        protected   void   Button2_Click(object   sender,   EventArgs   e)
        {
                Response.Clear();
                Response.Buffer   =   true;
                Response.Charset   =   "gb2312 ";
                Response.AppendHeader( "content-disposition ",   "attachment;filename=filename.xls ");
                //   如果设置为   getencoding( "gb2312 ");导出的文件将会出现乱码!!!
                Response.ContentEncoding   =   System.Text.Encoding.UTF7;
                Response.ContentType   =   "application/ms-excel ";//设置输出文件类型为excel文件。  
                System.IO.StringWriter   ostringwriter   =   new   System.IO.StringWriter();
                System.Web.UI.HtmlTextWriter   ohtmltextwriter   =   new   System.Web.UI.HtmlTextWriter(ostringwriter);


                this.GridView1.RenderControl(ohtmltextwriter);

              < <这一句报错> >   类型“GridView”的控件“GridView1”必须放在具         有   runat=server   的窗体标记内。

     
                Response.Output.Write(ostringwriter.ToString());
                Response.Flush();
                Response.End();

        }

[解决办法]
添加下面这个重载方法即可
public override void VerifyRenderingInServerForm(Control control)
{

// Confirms that an HtmlForm control is rendered for

}



[解决办法]
UP
[解决办法]
帮你顶一下~~~~~~~
[解决办法]
Infragistics 的WebGird控件以及WebGridExcelExport控件可以非常轻松的实现你的做法,
并且,WebGrid控件还有很多其他的功能,
让你体验。
[解决办法]
Response.Charset = "gb2312 ";

你把gb2312改成 "UTF-8 " 试一下。。
[解决办法]
帮你顶一下~~~~~~~

[解决办法]
我给个现成的项目代码事例吧!!!!!!!!!!!

Private Sub Button_csv_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_csv.Click

DataGrid1.Columns(1).Visible = True
DataGrid1.Columns(2).Visible = True
DataGrid1.Columns(3).Visible = True

DataGrid1.Columns(0).Visible = False
DataGrid1.Columns(13).Visible = False
Response.Clear()
Response.Buffer = True
Response.AppendHeader( "Content-Disposition ", "attachment;filename=Sheet1.xls ")
Response.ContentEncoding = System.Text.Encoding.GetEncoding( "utf-8 ") '
Response.ContentType = "application/ms-excel " '
Response.Charset = " "

Dim tw As New System.IO.StringWriter()
Dim hw As New System.Web.UI.HtmlTextWriter(tw)
DataGrid1.RenderControl(hw)

Response.Write(tw.ToString())
Response.End()
DataGrid1.Columns(1).Visible = False
DataGrid1.Columns(2).Visible = False
DataGrid1.Columns(3).Visible = False
DataGrid1.Columns(0).Visible = True
DataGrid1.Columns(10).Visible = True
End Sub
[解决办法]
以前论坛上就有这样的东东,自己搜搜是可以找到了
[解决办法]
欢喜,都解决了~

热点排行