如何将具有大量表的HTML文档转换为Word文档?

ask*_*eet 5 html html-table ms-word

我创建了带有许多表的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>
Run Code Online (Sandbox Code Playgroud)

Aar*_*lla 5

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

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

请注意,此解决方案的工作时间可能为 1-2 周。

  • 我首先粘贴到excel中获得了更好的结果。 (3认同)

ask*_*eet 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: ;
}
Run Code Online (Sandbox Code Playgroud)

生成.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>
Run Code Online (Sandbox Code Playgroud)