在css中加入:mso-number-format定义数据格式,格式可以在excel中查看自定义格式,具体可以参考一下:
- mso-number-format:"0" NO Decimals
- mso-number-format:"0/.000" 3 Decimals
- mso-number-format:"/#/,/#/#0/.000" Comma with 3 dec
- mso-number-format:"mm//dd//yy" Date7
- mso-number-format:"mmmm/ d/,/ yyyy" Date9
- mso-number-format:"m//d//yy/ h/:mm/ AM//PM" D -T AMPM
- mso-number-format:"Short Date" 01/03/1998
- mso-number-format:"Medium Date" 01-mar-98
- mso-number-format:"d/-mmm/-yyyy" 01-mar-1998
- mso-number-format:"Short Time" 5:16
- mso-number-format:"Medium Time" 5:16 am
- mso-number-format:"Long Time" 5:16:21:00
- mso-number-format:"Percent" Percent - two decimals
- mso-number-format:"0%" Percent - no decimals
- mso-number-format:"0/.E+00" Scientific Notation
- mso-number-format:"/@" Text
- mso-number-format:"/#/ ???//???" Fractions - up to 3 digits (312/943)
- class Program
- {
- protected const string HEADER = "<html xmlns:x=/"urn:schemas-microsoft-com:office:excel/">" +
- "<meta http-equiv=Content-Type content=/"text/html; charset=/"gb2312/">" +
- "<head>" +
- "<!--[if gte mso 9]><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]-->" ;
- const string STYLE="<style type=/"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>";
- static void Main(string[] args)
- {
- using (StreamWriter writer = new StreamWriter(@"C:/1.xls", true, System.Text.Encoding.GetEncoding("gb2312"), 512))
- {
- writer.WriteLine(HEADER);
- writer.WriteLine(STYLE);
- writer.WriteLine("</head><body><table border=/"1/" style=/"font-size:9pt/"><tr>");
- writer.WriteLine ("<th>ID</th>");
- writer.WriteLine ("<th>Name</th>");
- writer.WriteLine ("<th>Value</th>");
- writer.WriteLine ("<th>Percent</th>");
- for (int row = 1; row < 50; row++)
- {
- writer.WriteLine("<tr>");
- writer.WriteLine("<td class=/"sId/">{0}</td", row);
- writer.WriteLine("<td class=/"sName/">{0}</td", Guid.NewGuid ().ToString ());
- writer.WriteLine("<td class=/"sValue/">{0}</td", new Random().Next());
- writer.WriteLine("<td class=/"spercent/">{0}</td", new Random().NextDouble());
- writer.WriteLine("</tr>");
- }
- writer.WriteLine("</table></body>");
- }
- }
- }