我需要转换一个HTML表格与样式到一个.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");
2条答案
按热度按时间sd2nnvve1#
出现此问题的原因是
<table>
位于<center>
内部。请尝试删除
<center>
元素。编辑:
此问题现已在当前最新的错误修复版本中得到解决:https://www.gemboxsoftware.com/spreadsheet/nightlybuilds/GBS47v1336.zip
在当前最新的NuGet软件包中:
Install-Package GemBox.Spreadsheet -Version 47.0.1336-hotfix
2ic8powd2#
我同意乔纳森·伍德的观点。
最好分两步进行: