zoukankan      html  css  js  c++  java
  • 将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:UserslinghuamDesktop1111.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);  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:UserslinghuamDesktop1111.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
  • 相关阅读:
    C++多线程同步技巧(三)--- 互斥体
    Windows核心编程笔记之进程
    HTTP协议之分块传输与分段编码
    CVE-2013-2551:Internet Explore VML COALineDashStyleArray 整数溢出漏洞简单调试分析
    SQLServer数据库及注入方法
    Windows核心编程笔记之内核对象
    Windows核心编程笔记之错误处理
    Windows核心编程笔记之处理字符串
    CVE-2012-0774:Adobe Reader TrueType 字体整数溢出漏洞调试分析
    CVE-2012-1876:Internet Exporter MSHTML.DLL CaculateMinMax 堆溢出简单分析
  • 原文地址:https://www.cnblogs.com/myboke/p/4778968.html
Copyright © 2011-2022 走看看