onizet / html2openxml

Html2OpenXml is a small .Net library that convert simple or advanced HTML to plain OpenXml components. This program has started in 2009, initially to convert user's comments from SharePoint to Word.
MIT License
297 stars 106 forks source link

Table doesn't convert properly #142

Closed PatrickKelsch closed 2 weeks ago

PatrickKelsch commented 2 months ago

Describe the bug Tables with merged cells do not appear to convert correctly. Below is a picture of the table in HTML. It has merged rows and merged columns. When I take the XML that is generated and paste it into word document for viewing it is not correct.

Expected behavior I would expect the table to appear in the word document just as it does in the HTML document.

Repro How the table looks in HTML image

How the table looks in Word image

HTML for table below:

<table style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;border-collapse: collapse;table-layout: auto;width: 626px;"><tbody><tr><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 229.1999969482422px;vertical-align: top;" align="left" valign="top" colspan="2"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 229.1999969482422px;vertical-align: top;" align="left" valign="top" colspan="2"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top" rowspan="2"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td></tr><tr><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td></tr><tr><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 229.1999969482422px;vertical-align: top;" align="left" valign="top" colspan="2"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 229.1999969482422px;vertical-align: top;" align="left" valign="top" colspan="2"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top" rowspan="5"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td></tr><tr><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top" rowspan="2"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top" rowspan="2"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td></tr><tr style="height: 11.49899959564209px;"><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td></tr><tr><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top" rowspan="2"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top" rowspan="2"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td></tr><tr><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td></tr><tr><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 229.1999969482422px;vertical-align: top;" align="left" valign="top" colspan="2"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 229.1999969482422px;vertical-align: top;" align="left" valign="top" colspan="2"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top" rowspan="5"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td></tr><tr><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top" rowspan="2"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top" rowspan="2"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td></tr><tr><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td></tr><tr><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top" rowspan="2"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top" rowspan="2"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td></tr><tr><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td></tr><tr style="height: 11.49899959564209px;"><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 229.1999969482422px;vertical-align: top;" align="left" valign="top" colspan="2"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 229.1999969482422px;vertical-align: top;" align="left" valign="top" colspan="2"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top" rowspan="6"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td></tr><tr><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top" rowspan="2"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top" rowspan="2"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td></tr><tr><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td></tr><tr><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top" rowspan="3"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top" rowspan="3"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td></tr><tr><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td></tr><tr><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 114.5999984741211px;vertical-align: top;" align="left" valign="top"><p style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;text-indent: -0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td></tr><tr style="height: 11.49899959564209px;"><td style="border-left: 1px solid #000000;border-top: 1px solid #000000;border-right: 1px solid #000000;border-bottom: 1px solid #000000;padding: 0px 5px 0px 5px;width: 572.9999923706055px;vertical-align: top;" align="left" valign="top" colspan="5"><p style="margin-top: 0px;margin-bottom: 0px;line-height: 1;"><span style="font-family: 'Arial';font-size: 10px;color: #47418C;">&nbsp;</span></p></td></tr></tbody></table>

RFlipper commented 3 weeks ago

@PatrickKelsch I tried to reproduce, but in my case, the difference only in border width for some lines looks almost the same. Indeed I'm impressed the library works so well with this ugly HTML. In your case, I would just clean up HTML before using the lib.

using DocumentFormat.OpenXml.Packaging;
using HtmlToOpenXml;

namespace Html2Word
{
    internal class Program
    {
        static void Main(string[] args)
        {
            var html = """
               your HTML here
            """;

            using WordprocessingDocument package = WordprocessingDocument.Create(@"c:\temp\4\result.docx", DocumentFormat.OpenXml.WordprocessingDocumentType.Document);
            MainDocumentPart mainPart = package.MainDocumentPart ?? package.AddMainDocumentPart();

            HtmlConverter converter = new(mainPart);

            converter.ParseHtml(html);

            package.Save();
        }
    }
}

The result: image