【问题标题】:How to convert an HTML document with lots of tables into a Word document?如何将包含大量表格的 HTML 文档转换为 Word 文档?
【发布时间】:2015-02-25 09:00:51
【问题描述】:

我创建了一个包含许多表格的 HTML 文档。如何将文档转换为 Word?

问题是如果我用 Word 打开一个 HTML 文档,我会因为某种原因得到非标准的双行表格。

<table border="1" color="#000000" cellpadding="0" cellspacing="0" width=100%>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td width = 15%>0</td>
<td width = 15%>0</td>
<td width = 40%>0</td>
<td> - </td>
</tr>
</table>

【问题讨论】:

    标签: html ms-word html-table


    【解决方案1】:

    最简单的解决方案:在浏览器中打开 HTML,选择表格(或整个文档)并复制然后粘贴到 Word 中。首先粘贴到 Excel 中时,您可能会得到更好的结果,然后从那里复制并粘贴到 Word(此技巧要感谢 Josiah)。这通常工作得很好,特别是如果表格在 IE 中看起来不错/正确。

    还有其他解决方案,但它们要复杂得多:您需要一个 HTML 解析器和可以创建 OOXML 文件的东西。如果你想试试这个,使用 Python 和 Beautiful Soup 作为 HTML 解析器。这个问题解释了写OOXML:How can I create a Word document using Python?

    请注意,此解决方案的工作可能需要 1-2 周。

    【讨论】:

    • 我先粘贴到excel中得到了更好的结果。
    【解决方案2】:

    解决了使用 css 样式将大量表格转换为 Word 文档的问题。用Word打开Generate.html后所有表正常

    文件 CSSTable.css

    table.CSSTable {
    border-width: 1px;
    border-spacing: 0px;
    border-style: solid;
    border-color: black;
    border-collapse: collapse;
    background-color: white;
    }
    table.CSSTable th {
        border-width: 1px;
        padding: 0px;
        border-style: solid;
        border-color: black;
        background-color: white;
        -moz-border-radius: ;
    }
    table.CSSTable td {
        border-width: 1px;
        padding: 0px;
        border-style: solid;
        border-color: black;
        background-color: white;
        -moz-border-radius: ;
    }
    

    生成.html

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf8">
    <link rel="stylesheet" href="CSSTable.css" type="text/css">
    </head>
    <body>
    <table class="CSSTable" width=100%>
    <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    </tr>
    <tr>
    <td width = 15%>0</td>
    <td width = 15%>0</td>
    <td width = 40%>0</td>
    <td> - </td>
    </tr>
    </table>
    

    【讨论】:

      【解决方案3】:

      您可以使用altChunk,前提是文档要在 Word 中打开。仅在打开时需要 Word。

      就微软的OpenXML SDK 类而言: 你会想要AlternativeFormatImportPart 类型的AlternativeFormatImportPartType.Html

      有关示例,请参阅 thisthis

      【讨论】:

        【解决方案4】:

        来自http://www.wordbanter.com/showthread.php?t=105850

        "你必须进入表格,选择 “表”,然后是表属性,然后是选项。在“默认单元格间距”下 取消选择“允许单元格之间的间距”。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-01-16
          • 1970-01-01
          • 2012-03-07
          • 1970-01-01
          • 2019-05-12
          • 1970-01-01
          相关资源
          最近更新 更多