ASP.NET教程之关于控件导出Excel格局成绩的新办理计划仓酷云
就安全性而言,net网页编程已经远远低于VB.NET,更无法与安全性著称的C#相比。明天弄了一下控件导出Excel,因而发生了格局成绩了,一些日期如20091222的称号被显现为迷信记数法。以是,我搜了博客园。一年夜堆的文章都是复制来复制往的材料。
基础上都有这么一行闪亮的代码:文本:vnd.ms-excel.numberformat:@
有深切一点的文章,会告知你,这个工具要写在<tdstyle="vnd.ms-excel.numberformat:@">xxx</td>里
因而这里就发生这两个分支办法:
1.间接就写上<tdstyle="vnd.ms-excel.numberformat:@"><%#Eval("XXX")%></td>
2.没法间接写<td的,由GridView等间接发生Table的就来背景轮回输入法:
这里任意拿一段:
//对必要格局化的列举行格局化
//e.Item.Cells.Attributes.Add("style","vnd.ms-excel.numberformat:@");
--------------------------------------------------------------------------------------
实践上,我们导出Excel后,假如用记事本翻开,能够发明,实践差未几就是个html。
即然是html,固然也能够用款式了。既然不克不及援用内部款式,那间接就写外部款式就好了。
因而,我发生了这么一小段代码:
代码
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ContentEncoding=System.Text.Encoding.GetEncoding("gb2312");
HttpContext.Current.Response.Write("<metahttp-equiv=Content-Typecontent=text/html;charset=gb2312>");
HttpContext.Current.Response.AppendHeader("content-disposition","attachment;filename=export.xls");
HttpContext.Current.Response.ContentType="application/vnd.ms-excel";
StringBuildersb=newStringBuilder();
sb.Append("<head><style>tabletd,th{vnd.ms-excel.numberformat:@;text-align:center;}tableth{color:red}</style></head>");//关头看这里,格局化,并为题目加白色
System.IO.StringWritersw=newSystem.IO.StringWriter();
HtmlTextWriterhtw=newHtmlTextWriter(sw);
foreach(ControlctinctList)
{
ct.RenderControl(htw);
}
sb.Append(sw.ToString());
sw.Close();
HttpContext.Current.Response.Write(sb.ToString());
HttpContext.Current.Response.End();
至此,经由过程在输入前,附加<style></style>款式,便可控件Excel的输入格局了。
据说很厉害,甚至可以把C#也干掉^_^,不过也很复杂,本来C++已经够复杂的。有人甚至还提出把这个东东引进标准,我觉得基本上不可能的。 微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。 能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。 提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。 提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。 由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。 主流网站开发语言之CGI:CGI就是公共网关接口(CommonGatewayInterface)的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如C,C++,Java,Pascal等。 可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NETFramework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。 CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。 如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台。 现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。 关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
页:
[1]