EPPlus 可以区分 Excel 工作表中的空白单元格和空文本单元格吗?

2024-04-03

我正在使用 EPPlus .NET 库 (v4.0.4) 来解释保存的 Excel 工作簿。在这样一个工作表中,一些空单元格已使用 Excel“撇号”技巧设置为“文本”格式(即,用户在这些单元格中输入了单个撇号,以便 Excel 将它们显示为空白)。

两个此类单元格的示例 XML 如下:

  <c r="F6" s="1" t="inlineStr">
    <is>
      <t />
    </is>
  </c>
  <c r="G6" s="1" />

在这里,F6 有一个撇号(即是一个空文本单元格),而 G6 确实是空白。

可以读取这个“内联字符串”(inlineStr)属性使用 EPPlus 或以其他方式区分这两个单元格? ExcelRange / ExcelRangeBase 类具有以下属性:Value, Formula, Style等等,但是当检查代表上面两个单元格的对象时,我看不到它们之间有任何区别。

我知道我可以通过读取原始 XML 或使用替代库(可能是 ClosedXML 或类似库)来手动执行此操作,但如果可能的话,我想使用 EPPlus 来执行此操作。


EPPlus 使用nullvalue 来表示空单元格,并为包含空字符串的单元格返回空字符串。

这适用于读和写操作。

因此,如果您使用 epplus 将空字符串写入单元格,那么该单元格将包含一个空字符串(因此将显示为空白,但不等于 0),而如果您使用 epplus 将单元格的值设置为 null,那么它在 excel 中将为空(仍然会显示为空白,但等于 0)

这同样适用于读操作。如果您使用了“撇号技巧”,则可以从单元格的值中读取空字符串,但会获得空单元格值的空引用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EPPlus 可以区分 Excel 工作表中的空白单元格和空文本单元格吗? 的相关文章

随机推荐