如何将包含大量表格的HTML文档转换为Word文档?

时间:2015-02-25 09:00:51

标签: html ms-word html-table

我创建了一个包含许多表的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>

4 个答案:

答案 0 :(得分:3)

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

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

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

答案 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>

答案 2 :(得分:0)

如果要在Word中打开文档,则可以使用altChunk。只有打开它才需要Word。

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

有关示例,请参阅thisthis

答案 3 :(得分:0)

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

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