如何将包含大量表格的HTML文档转换为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>

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

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

请注意,此解决方案的工作量可能为1-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: ;
}

Generate.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>

如果要在Word中打开文档,则可以使用altChunk。Word仅用于打开它。

就Microsoft的OpenXML SDK类而言:您需要AlternativeFormatImportPartType.Html 类型的AlternativeFormatImportPart

有关

的示例,请参阅此或此

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

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

最新更新