我创建了一个包含许多表的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>
答案 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
答案 3 :(得分:0)
来自http://www.wordbanter.com/showthread.php?t=105850
“你必须进入桌面,选择 “表”,然后是表属性,然后是选项。在“默认单元格间距”下 取消选择“允许单元格之间的间距。”