Как преобразовать HTML-документ с большим количеством таблиц в документ Word?
Я создал HTML-документ со многими таблицами. Как преобразовать документ в Word?
Проблема в том, что если я открываю HTML-документ с помощью Word, я почему-то получаю нестандартные таблицы с двойными строками.
<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 ответа:
Самое простое решение: откройте HTML в браузере, выберите таблицу (или весь документ) и скопируйте, а затем вставьте в Word. Вы можете получить еще лучшие результаты при вставке в Excel, а затем скопировать и вставить оттуда в Word (Спасибо Josiah за этот совет). Это часто работает довольно хорошо, особенно если таблица выглядит хорошо / правильно в IE.
Есть и другие решения, но они гораздо сложнее: вам понадобится HTML-парсер и что-то, что может создать OOXML файлы. Если вы хотите попробовать это, используйте Python сBeautiful Soup в качестве HTML-парсера. Написание OOXML объясняется в этом вопросе: Как я могу создать документ Word с помощью Python?
Обратите внимание, что усилия для этого решения, вероятно, составляют 1-2 недели.
Решена проблема преобразования большого количества таблиц в документ Word с использованием стилей css. После открытой генерации.html с Word все таблицы нормальные
Файл 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>
Из http://www.wordbanter.com/showthread.php?t=105850
" Вы должны зайти в таблицу, выбрать "Таблица", затем Свойства таблицы, затем Параметры. В разделе " интервал ячеек по умолчанию" отменить выбор " разрешить интервал между ячейками."