使用 C# (WinForms .NET 5) 将 HTML table 导出到 Excel 文件
Export HTML table to Excel file using C# (WinForms .NET 5)
我需要将具有样式的 HTML table 转换为 .XLSX 文件。
我设法使用 GemBox.Spreadsheet 的免费版本做到了这一点,现在我不介意免费版本的限制,但问题是当我打开 Excel 文件。
如果不手动打开 Excel 文件并自己转换它们,是否有任何解决方案?或者甚至是 GemBox 库的免费替代品?
File.WriteAllText("Table.html", html);
ExcelFile.Load("Table.html", LoadOptions.HtmlDefault).Save("Test.xlsx");
我的 HTML 看起来像这样
<html>
<body>
<center>
<table border="1" cellpadding="0" cellspacing="0">
<tr>
<td>Crimson Witch</td>
<td>HP</td>
<td>ATK</td>
<td>DEF</td>
</tr>
<tr>
<td>Flower</td>
<td>10</td>
<td style="background-color: #808080"></td>
<td style="background-color: #808080"></td>
</tr>
<tr>
<td>Plume</td>
<td style="background-color: #808080"></td>
<td>10</td>
<td style="background-color: #808080"></td>
</tr>
</table>
</center>
</body>
</html>
解决方案:
File.WriteAllText("Table.html", html.Replace("<center>", string.Empty).Replace("</center>", string.Empty));
ExcelFile.Load("Table.html", LoadOptions.HtmlDefault).Save("Test.xlsx");
出现问题是因为 <table>
在 <center>
内。
尝试删除 <center>
元素。
编辑:
此问题现已在当前最新的错误修复版本中得到解决:
https://www.gemboxsoftware.com/spreadsheet/nightlybuilds/GBS47v1336.zip
并且在当前最新的 NuGet 包中:
Install-Package GemBox.Spreadsheet -Version 47.0.1336-hotfix
我需要将具有样式的 HTML table 转换为 .XLSX 文件。
我设法使用 GemBox.Spreadsheet 的免费版本做到了这一点,现在我不介意免费版本的限制,但问题是当我打开 Excel 文件。 如果不手动打开 Excel 文件并自己转换它们,是否有任何解决方案?或者甚至是 GemBox 库的免费替代品?
File.WriteAllText("Table.html", html);
ExcelFile.Load("Table.html", LoadOptions.HtmlDefault).Save("Test.xlsx");
我的 HTML 看起来像这样
<html>
<body>
<center>
<table border="1" cellpadding="0" cellspacing="0">
<tr>
<td>Crimson Witch</td>
<td>HP</td>
<td>ATK</td>
<td>DEF</td>
</tr>
<tr>
<td>Flower</td>
<td>10</td>
<td style="background-color: #808080"></td>
<td style="background-color: #808080"></td>
</tr>
<tr>
<td>Plume</td>
<td style="background-color: #808080"></td>
<td>10</td>
<td style="background-color: #808080"></td>
</tr>
</table>
</center>
</body>
</html>
解决方案:
File.WriteAllText("Table.html", html.Replace("<center>", string.Empty).Replace("</center>", string.Empty));
ExcelFile.Load("Table.html", LoadOptions.HtmlDefault).Save("Test.xlsx");
出现问题是因为 <table>
在 <center>
内。
尝试删除 <center>
元素。
编辑:
此问题现已在当前最新的错误修复版本中得到解决: https://www.gemboxsoftware.com/spreadsheet/nightlybuilds/GBS47v1336.zip
并且在当前最新的 NuGet 包中:
Install-Package GemBox.Spreadsheet -Version 47.0.1336-hotfix