|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
数据库有很多应用领域,但是如果你单单学数据库的话基本上做数据库管理员比较合适而已,跟领域结合的你还得再学习那些领域知识。(其实数据挖掘我真是不懂,本来这学期开了一门课了。 上面代码完成将GridView导出到Excel文件中。
值得注重的是VerifyRenderingInServerForm重载办法:
MSDN上的VerifyRenderingInServerForm办法的形貌:
必需位于<formrunat=server>标志中的控件能够在出现之前挪用此办法,以便在控件被置于标志外时显现毛病信息。发送回或依附于注册的剧本块的控件应当在Control.Render办法的重写中挪用此办法。出现服务器窗体元素的体例分歧的页能够重写此办法以在分歧的前提下激发非常。
假如回发或利用客户端剧本的服务器控件没有包括在HtmlForm服务器控件(<formrunat="server">)标志中,它们将没法一般事情。这些控件能够在出现时挪用该办法,以在它们没有包括在HtmlForm控件中时供应明白的毛病信息。
开辟自界说服务器控件时,一般在为任何范例的输出标志重写Render办法时挪用该办法。这在输出控件挪用GetPostBackEventReference或收回客户端剧本时特别主要。复合服务器控件不必要作出此挪用。
没有这个办法,程序将报错。
C#代码
<%...@PageLanguage="C#"EnableEventValidation="false"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<scriptrunat="server">...
ICollectionCreateDataSource()
...{
System.Data.DataTabledt=newSystem.Data.DataTable();
System.Data.DataRowdr;
dt.Columns.Add(newSystem.Data.DataColumn("id",typeof(Int32)));
dt.Columns.Add(newSystem.Data.DataColumn("PkID",typeof(string)));
dt.Columns.Add(newSystem.Data.DataColumn("Title",typeof(string)));
for(inti=0;i<6;i++)
...{
dr=dt.NewRow();
dr[0]=i;
dr[1]="123456789123456789123456789";
dr[2]="<ahref=http://dotnet.aspx.cc/>接待到临【孟宪会之出色天下】</a>";
dt.Rows.Add(dr);
}
System.Data.DataViewdv=newSystem.Data.DataView(dt);
returndv;
}
protectedvoidPage_Load(objectsender,EventArgse)
...{
if(!IsPostBack)
...{
GridView1.BorderWidth=Unit.Pixel(2);
GridView1.BorderColor=System.Drawing.Color.DarkOrange;
GridView1.DataSource=CreateDataSource();
GridView1.DataBind();
}
}
protectedvoidButton1_Click(objectsender,System.EventArgse)
...{
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.StringWriteroStringWriter=newSystem.IO.StringWriter();
System.Web.UI.HtmlTextWriteroHtmlTextWriter=newSystem.Web.UI.HtmlTextWriter(oStringWriter);
this.GridView1.RenderControl(oHtmlTextWriter);
Response.Output.Write(oStringWriter.ToString());
Response.Flush();
Response.End();
}
publicoverridevoidVerifyRenderingInServerForm(Controlcontrol)
...{}
protectedvoidGridView1_RowDataBound(objectsender,GridViewRowEventArgse)
...{
if(e.Row.RowType==DataControlRowType.DataRow)
...{
e.Row.Cells[1].Attributes.Add("style","vnd.ms-excel.numberformat:@;");
}
}
</script>
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title>将GridView导出到Excel文件中</title>
</head>
<body>
<formid="form1"runat="server">
<asp:GridViewID="GridView1"runat="server"OnRowDataBound="GridView1_RowDataBound"
AutoGenerateColumns="false">
<Columns>
<asp:BoundFieldHeaderText="序号"DataField="id"/>
<asp:BoundFieldHeaderText="身份证号"DataField="PkID"/>
<asp:BoundFieldHeaderText="网址"DataField="Title"ReadOnly="true"HtmlEncode="false"/>
</Columns>
</asp:GridView>
<asp:LiteralID="HiddenOut"runat="server"/>
<asp:ButtonID="Button1"runat="server"Text="导出"OnClick="Button1_Click"/>
</form>
</body>
</html>
实不相瞒,Java是我见过的执行效率最低的程序设计语言,前不久在CSDN论坛上有个评测,计算9999的阶乘,同样的循环算法,Java的耗时是.NET的5倍。 |
|