您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 使用HTML,CSS快速导出数据到Excel
——82使用HTML,CSS快速导出数据到Excel在应用中经常会遇到要从系统或数据库中导出数据平面文件,一般是导出到txt,csv或excel。txt和csv一般用在系统间的数据交换,而excel一般有较好的显示效果,可以按照一定的模板导出,导出就不用再排版了,使用简单,如果是使用做报表一般都导出excel文件。但是使用com组件导出到Excel数据很慢,有另一种生成excel文件的方式就是通过html和css快速导出数据同时并能设置样式,使用这种方式有两个优点:1是速度快,2是不需安装excel支持。实现就是通过html可以直接转换成excel,有两个要点:一是显示出表格线,像ASP.net中直接通过Gridview导出excel都没有显示出表格二是设置数据格式。一、显示出表格线:在html的head标记中加入以下代码:xmlx:ExcelWorkbookx:ExcelWorksheetsx:ExcelWorksheetx:Name工作表标题/x:Namex:WorksheetOptionsx:Printx:ValidPrinterInfo//x:Print/x:WorksheetOptions/x:ExcelWorksheet/x:ExcelWorksheets/x:ExcelWorkbook/xml二、设置数据格式:在head中加入css定义styletype=text/css.spercent{background-color:#ffff99;mso-number-format:0.00%;}——83/style在css中加入:mso-number-format定义数据格式,格式可以在excel中查看自定义格式,具体可以参考一下:mso-number-format:0NODecimalsmso-number-format:0\.0003Decimalsmso-number-format:\#\,\#\#0\.000Commawith3decmso-number-format:mm\/dd\/yyDate7mso-number-format:mmmm\d\,\yyyyDate9mso-number-format:m\/d\/yy\h\:mm\AM\/PMD-TAMPMmso-number-format:ShortDate01/03/1998mso-number-format:MediumDate01-mar-98mso-number-format:d\-mmm\-yyyy01-mar-1998mso-number-format:ShortTime5:16mso-number-format:MediumTime5:16ammso-number-format:LongTime5:16:21:00mso-number-format:PercentPercent-twodecimalsmso-number-format:0%Percent-nodecimalsmso-number-format:0\.E+00ScientificNotationmso-number-format:\@Textmso-number-format:\#\???\/???Fractions-upto3digits(312/943)导出的excel可以直接通过excel打开,效果如下:——84完整代码:classProgram{privateconststringHEADER=htmlxmlns:x=\urn:schemas-microsoft-com:office:excel\+metahttp-equiv=Content-Typecontent=\text/html;charset=\gb2312\+head+!--[ifgtemso9]xml+x:ExcelWorkbook+x:ExcelWorksheets+x:ExcelWorksheet+x:Name工作表标题/x:Name+x:WorksheetOptions+x:Print+x:ValidPrinterInfo/+/x:Print+/x:WorksheetOptions+/x:ExcelWorksheet+/x:ExcelWorksheets+/x:ExcelWorkbook+/xml+![endif]--;privateconststringSTYLE=styletype=\text/css\+.spercent+{+background-color:#ffff99;+mso-number-format:0.00%;+}+.sId+{+background-color:#ff6633;+mso-number-format:0;+}+.sName+{+color:red;+}+.sValue+{+color:blue;+mso-number-format:0;+}+/style;staticvoidMain(string[]args){using(StreamWriterwriter=newStreamWriter(@C:\1.xls,true,System.Text.Encoding.GetEncoding(gb2312),512))——85{writer.WriteLine(HEADER);writer.WriteLine(STYLE);writer.WriteLine(/headbodytableborder=\1\style=\font-size:9pt\tr);writer.WriteLine(thID/th);writer.WriteLine(thName/th);writer.WriteLine(thValue/th);writer.WriteLine(thPercent/th);for(introw=1;row50;row++){writer.WriteLine(tr);writer.WriteLine(tdclass=\sId\{0}/td,row);writer.WriteLine(tdclass=\sName\{0}/td,Guid.NewGuid().ToString());writer.WriteLine(tdclass=\sValue\{0}/td,newRandom().Next());writer.WriteLine(tdclass=\spercent\{0}/td,newRandom().NextDouble());writer.WriteLine(/tr);}writer.WriteLine(/table/body);}}}
本文标题:使用HTML,CSS快速导出数据到Excel
链接地址:https://www.777doc.com/doc-2687010 .html