2012-01-31 5 views
0

私は上記の表のHTMLに変換すると、私は(http://notesforhtml2openxml.codeplex.com)NotesForHtmlToOpenXMLを使用してOpenXML形式にNotesForHtmlToOpenXML表の行スパン&コルスパン問題

Original Table image

をHTMLファイルに変換していますdocx形式の場合、出力は次のようになります。下記の

Converted docx Table image

元のテーブルのHTMLコードです。

<table id="tbl-pg-2-13-5" class="table-main" border="1" cellspacing="1" cellpadding="1"> 
    <tbody> 
     <tr id="pg-2-14"> 
      <td id="pg-2-15" class="table-td" valign="top" rowspan="2" colspan="2"> 
      </td> 
      <td id="pg-2-16" class="table-td" valign="top" colspan="2"> 
       <p id="pg-2-17" class="table-textstyle2"> 
        <i>Consideration of use</i> 
       </p> 
      </td> 
     </tr> 
     <tr id="pg-2-19"> 
      <td id="pg-2-20" class="table-td" valign="top"> 
       <p id="pg-2-21" class="table-textstyle2"> 
        <i>Low</i> 
       </p> 
      </td> 
      <td id="pg-2-23" class="table-td" valign="top"> 
       <p id="pg-2-24" class="table-textstyle2"> 
        <i>High</i> 
       </p> 
      </td> 
     </tr> 
     <tr id="pg-2-26"> 
      <td id="pg-2-27" class="table-td" rowspan="2" valign="top"> 
       <p id="pg-2-28" class="table-textstyle2"> 
        <i>Quest for fundamental understanding</i> 
       </p> 
      </td> 
      <td id="pg-2-30" class="table-td" valign="top"> 
       <p id="pg-2-31" class="table-textstyle2"> 
        <i>High</i> 
       </p> 
      </td> 
      <td id="pg-2-33" class="table-td" valign="top"> 
       <p id="pg-2-61" class="table-textstyle0"> 
        1. Pure basic research &#x0028;Bohr&#x0029; 
       </p> 
      </td> 
      <td id="pg-2-38" class="table-td" valign="top"> 
       <p id="pg-2-62" class="table-textstyle0"> 
        2. Use-inspired basic research &#x0028;Pasteur&#x0029; 
       </p> 
      </td> 
     </tr> 
     <tr id="pg-2-45"> 
      <td id="pg-2-46" class="table-td" valign="top"> 
       <p id="pg-2-47" class="table-textstyle2"> 
        <i>Low</i>&#x00A0; 
       </p> 
      </td> 
      <td id="pg-2-49" class="table-td" valign="top"> 
       <p id="pg-2-63" class="table-textstyle0"> 
        3. 
       </p> 
      </td> 
      <td id="pg-2-52" class="table-td" valign="top"> 
       <p id="pg-2-64" class="table-textstyle0"> 
        4. Pure applied research &#x0028;Edison&#x0029; 
       </p> 
      </td> 
     </tr> 
    </tbody> 
</table> 

上記のHTMLをOpenXMLに正しく変換するソリューションを提供してください。

答えて

1

下記のコード(AltChunk & AlternateFormatImportPart)を使用してインポートできました。ここで、finalDocumentはWordprocessingDocument型です。

    string mainhtml = "<table id=\"tbl-pg-2-13-5\" class=\"table-main\" border=\"1\" cellspacing=\"1\" cellpadding=\"1\">" + 
"<tbody>" + 
    "<tr id=\"pg-2-14\">" + 
     "<td id=\"pg-2-15\" class=\"table-td\" valign=\"top\" rowspan=\"2\" colspan=\"2\">" + 
     "</td>" + 
     "<td id=\"pg-2-16\" class=\"table-td\" valign=\"top\" colspan=\"2\">" + 
      "<p id=\"pg-2-17\" class=\"table-textstyle2\">" + 
       "<i>Consideration of use</i>" + 
      "</p>" + 
     "</td>" + 
    "</tr>" + 
    "<tr id=\"pg-2-19\">" + 
     "<td id=\"pg-2-20\" class=\"table-td\" valign=\"top\">" + 
      "<p id=\"pg-2-21\" class=\"table-textstyle2\">" + 
       "<i>Low</i>" + 
      "</p>" + 
     "</td>" + 
     "<td id=\"pg-2-23\" class=\"table-td\" valign=\"top\">" + 
      "<p id=\"pg-2-24\" class=\"table-textstyle2\">" + 
       "<i>High</i>" + 
      "</p>" + 
     "</td>" + 
    "</tr>" + 
    "<tr id=\"pg-2-26\">" + 
     "<td id=\"pg-2-27\" class=\"table-td\" rowspan=\"2\" valign=\"top\">" + 
      "<p id=\"pg-2-28\" class=\"table-textstyle2\">" + 
       "<i>Quest for fundamental understanding</i>" + 
      "</p>" + 
     "</td>" + 
     "<td id=\"pg-2-30\" class=\"table-td\" valign=\"top\">" + 
      "<p id=\"pg-2-31\" class=\"table-textstyle2\">" + 
       "<i>High</i>" + 
      "</p>" + 
     "</td>" + 
     "<td id=\"pg-2-33\" class=\"table-td\" valign=\"top\">" + 
      "<p id=\"pg-2-61\" class=\"table-textstyle0\">" + 
       "1. Pure basic research &#x0028;Bohr&#x0029;" + 
      "</p>" + 
     "</td>" + 
     "<td id=\"pg-2-38\" class=\"table-td\" valign=\"top\">" + 
      "<p id=\"pg-2-62\" class=\"table-textstyle0\">" + 
       "2. Use-inspired basic research &#x0028;Pasteur&#x0029;" + 
      "</p>" + 
     "</td>" + 
    "</tr>" + 
    "<tr id=\"pg-2-45\">" + 
     "<td id=\"pg-2-46\" class=\"table-td\" valign=\"top\">" + 
      "<p id=\"pg-2-47\" class=\"table-textstyle2\">" + 
       "<i>Low</i>&#x00A0;" + 
      "</p>" + 
     "</td>" + 
     "<td id=\"pg-2-49\" class=\"table-td\" valign=\"top\">" + 
      "<p id=\"pg-2-63\" class=\"table-textstyle0\">" + 
       "3." + 
      "</p>" + 
     "</td>" + 
     "<td id=\"pg-2-52\" class=\"table-td\" valign=\"top\">" + 
      "<p id=\"pg-2-64\" class=\"table-textstyle0\">" + 
       "4. Pure applied research &#x0028;Edison&#x0029;" + 
      "</p>" + 
     "</td>" + 
    "</tr>" + 
"</tbody>" + 

"";

   AlternativeFormatImportPart chunk = finalDocument.MainDocumentPart.AddAlternativeFormatImportPart(AlternativeFormatImportPartType.Html); 

       using (Stream chunkStream = chunk.GetStream(FileMode.Create, FileAccess.Write)) 
       { 
        using (StreamWriter stringWriter = new StreamWriter(chunkStream, Encoding.UTF8)) 
        { 
         stringWriter.Write(mainhtml); 
        } 
       } 

       AltChunk altChunk1 = new AltChunk(); 
       altChunk1.Id = finalDocument.MainDocumentPart.GetIdOfPart(chunk); 

       finalDocument.MainDocumentPart.Document.AppendChild(altChunk1); 


       finalDocument.MainDocumentPart.Document.Save(); 
+0

Thanks Atul Verma。 – Sriram