将html导出到excel或word

本质是将html写成word或excel支持的html格式。

如何将html写成word或excel支持的格式?

只需打开计算机上任意一个word或excel文档,打开文件->另存为,选择文件类型为“*.htm,*.html”格式,即将一篇word转化为html格式文件。

在浏览器中打开该文件,查看源码,即可看到转化后的html文档。

只需参照此文档内容,将html写成该格式,然后将html内容写入到文件中,把文件后缀名改为“.xls”或“.doc”即可。

  1 using System;
  2 using System.Collections.Generic;
  3 using System.IO;
  4 using System.Linq;
  5 using System.Text;
  6 using System.Threading.Tasks;
  7 
  8 namespace ConsoleApplication1
  9 {
 10     class Program
 11     {
 12         /// <summary>
 13         /// 导出到excel
 14         /// </summary>
 15         /// <returns></returns>
 16         public static void exportExcel() {
 17          string HEADER = "<html xmlns:x=\"urn:schemas-microsoft-com:office:excel\">" +
 18                                           "<meta http-equiv=Content-Type content=\"text/html; charset=\"gb2312\">" +
 19                                           "<head>" +
 20                                           "<!--[if gte mso 9]><xml>" +
 21                                            "<x:ExcelWorkbook>" +
 22                                                "<x:ExcelWorksheets>" +
 23                                                    "<x:ExcelWorksheet>" +
 24                                                        "<x:Name>工作表标题</x:Name>" +
 25                                                        "<x:WorksheetOptions>" +
 26                                                            "<x:Print>" +
 27                                                                "<x:ValidPrinterInfo />" +
 28                                                            "</x:Print>" +
 29                                                        "</x:WorksheetOptions>" +
 30                                                    "</x:ExcelWorksheet>" +
 31                                                "</x:ExcelWorksheets>" +
 32                                            "</x:ExcelWorkbook>" +
 33                                        "</xml>" +
 34                                        "<![endif]-->" ;
 35 
 36          string STYLE="<style type=\"text/css\">" +
 37                                        ".spercent" +
 38                                        " {" +
 39                                        "   background-color:#ffff99;" +
 40                                        "   mso-number-format:0.00%;" +
 41                                        " }" +
 42                                         ".sId" +
 43                                        " {" +
 44                                        "   background-color:#ff6633;" +
 45                                        "   mso-number-format:0;" +
 46                                        " }" +
 47                                         ".sName" +
 48                                        " {" +
 49                                        "     color:red;" +
 50                                        " }" +
 51                                         ".sValue" +
 52                                        " {" +
 53                                        "   color:blue;" +
 54                                        "   mso-number-format:0;" +
 55                                        " }" +
 56                                        "</style>";
 57 
 58          using (StreamWriter writer = new StreamWriter(@"C:\Users\linghuam\Desktop\1111.xls", true, System.Text.Encoding.GetEncoding("gb2312"), 512))
 59          {
 60              writer.WriteLine(HEADER);
 61              writer.WriteLine(STYLE);
 62              writer.WriteLine("</head><body><table border=\"1\" style=\"font-size:9pt\"><tr>");
 63              writer.WriteLine("<th>ID</th>");
 64              writer.WriteLine("<th>Name</th>");
 65              writer.WriteLine("<th>Value</th>");
 66              writer.WriteLine("<th>Percent</th>");
 67 
 68              for (int row = 1; row < 50; row++)
 69              {
 70                  writer.WriteLine("<tr>");
 71                  writer.WriteLine("<td class=\"sId\">{0}</td>", row);
 72                  writer.WriteLine("<td class=\"sName\">{0}</td>", Guid.NewGuid().ToString());
 73                  writer.WriteLine("<td class=\"sValue\">{0}</td>", new Random().Next());
 74                  writer.WriteLine("<td class=\"spercent\">{0}</td>", new Random().NextDouble());
 75                  writer.WriteLine("</tr>");
 76              }
 77 
 78              writer.WriteLine("</table></body>");
 79          }
 80         }
 81         /// <summary>
 82         /// 导出到word
 83         /// </summary>
 84         /// <returns></returns>
 85 
 86         public static bool exportWord() {
 87             string html = "<html xmlns:v=\"urn:schemas-microsoft-com:vml\"xmlns:o=\"urn:schemas-microsoft-com:office:office\"xmlns:w=\"urn:schemas-microsoft-com:office:word\"xmlns:m=\"http://schemas.microsoft.com/office/2004/12/omml\"xmlns=\"http://www.w3.org/TR/REC-html40\"> <head> <![endif]><!--[if gte mso 9]><xml> <x:ExcelWorkbook> <x:ExcelWorksheets> <x:ExcelWorksheet> <x:Name>gis</x:Name> <x:WorksheetSource/> </x:ExcelWorksheet> </x:ExcelWorksheets> <x:ProtectStructure>False</x:ProtectStructure> <x:ProtectWindows>False</x:ProtectWindows> </x:ExcelWorkbook> </xml><![endif]--> <meta http-equiv=Content-Type content=\"text/html; charset=gb2312\"> <meta name=ProgId content=Word.Document> <meta name=Generator content=\"Microsoft Word 15\"> <meta name=Originator content=\"Microsoft Word 15\"> <style> div{background:rgba(255,0,0,0.5); } p{color: blue; font-size: 22px; font-weight: bolder; } h1{color: rgb(125,125,125); width: 100%; height: 100%; padding: 20px; background:rgb(66,89,224); } </style> </head> <body> <div> <p>I am chinese!</p> <h1>我发发非法上访</h1> </div> </body> </html>";
 88             using (StreamWriter writer = new StreamWriter(@"C:\Users\linghuam\Desktop\1111.doc", true, System.Text.Encoding.GetEncoding("gb2312"), 512))
 89             {
 90                 writer.WriteLine(html);
 91                 return true;
 92             }
 93             return false;
 94         }
 95         static void Main(string[] args)
 96         {
 97             exportExcel();
 98             exportWord();
 99         }
100     }
101 }
View Code

 

转载于:https://www.cnblogs.com/myboke/p/4778968.html

  • 0
    点赞
  • 0
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值