0

我需要将带有样式的 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");
4

1 回答 1

1

出现问题是<table>因为<center>.

尝试删除<center>元素。

编辑:

此问题现已在当前最新的错误修复版本中得到解决: https ://www.gemboxsoftware.com/spreadsheet/nightlybuilds/GBS47v1336.zip

而在当前最新的 NuGet 包中:
Install-Package GemBox.Spreadsheet -Version 47.0.1336-hotfix

于 2021-11-02T08:53:23.693 回答