• html to openxml


    Html to OpenXml

    How to start ?

    Create a new console application. Add a reference to DocumentFormat.OpenXml.dll (shipped with the OpenXml SDK 2.0). 
    Add an html file and fill it with:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
         <head>
              <title></title>
         </head>
         <body>
              Looks how cool is <font size="x-large"><b>Open Xml</b></font>.
              Now with <font color="red"><u>HtmlToOpenXml</u></font>, it nevers been so easy to convert html.
              <p>
                   If you like it, add me a rating on <a href="http://notesforhtml2openxml.codeplex.com">codeplex</a>
              </p>
              <hr>
         </body>
    </html>
    

    Add a Resources.resx component and add your html file inside it.

    In Program.cs, add these lines of code:

    using System.IO;
    using DocumentFormat.OpenXml;
    using DocumentFormat.OpenXml.Packaging;
    using DocumentFormat.OpenXml.Wordprocessing;
    using NotesFor.HtmlToOpenXml;
    ...
    
    static void Main(string[] args)
    {
         const string filename = "test.docx";
         string html = Properties.Resources.DemoHtml;
    
         if (File.Exists(filename)) File.Delete(filename);
    
         using (MemoryStream generatedDocument = new MemoryStream())
         {
              using (WordprocessingDocument package = WordprocessingDocument.Create(generatedDocument, WordprocessingDocumentType.Document))
              {
                   MainDocumentPart mainPart = package.MainDocumentPart;
                   if (mainPart == null)
                   {
                        mainPart = package.AddMainDocumentPart();
                        new Document(new Body()).Save(mainPart);
                   }
    
                   HtmlConverter converter = new HtmlConverter(mainPart);
                   Body body = mainPart.Document.Body;
    
                   var paragraphs = converter.Parse(html);
                   for (int i = 0; i < paragraphs.Count; i++)
                   {
                        body.Append(paragraphs[i]);
                   }
    
                   mainPart.Document.Save();
              }
    
              File.WriteAllBytes(filename, generatedDocument.ToArray());
         }
    
         System.Diagnostics.Process.Start(filename);
    }
  • 相关阅读:
    在PHP语言中使用JSON
    PHP中生成json信息的方法
    Oracle 11g数据库详细安装步骤图解
    spring data jpa
    missing artifact com.oracle:ojdbc14:jar:10.2.0.2.0解决办法
    HDU 2841 Visible Trees
    LightOJ 1348 Aladdin and the Return Journey
    FZU 2082 过路费
    BZOJ 1036: [ZJOI2008]树的统计Count
    BZOJ 2243: [SDOI2011]染色
  • 原文地址:https://www.cnblogs.com/zcm123/p/9364669.html
Copyright © 2020-2023  润新知