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

Nei*_*l T 4 .net c# excel openxml epplus

我正在使用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" />
Run Code Online (Sandbox Code Playgroud)

在此,F6带有撇号(即是一个空的文本单元格),而G6则真正是空白的。

是否可以inlineStr使用EPPlus 读取此“内联字符串”()属性或以其他方式区分这两个单元格?所述ExcelRange / ExcelRangeBase类具有如特性ValueFormulaStyle等,但检查表示所述两个小区以上也看不出它们之间的任何差异对象时。

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

Ste*_*t_R 5

EPPlus使用一个null值表示一个空单元格,并为包含该空字符串的单元格返回空字符串。

这适用于读取和写入操作。

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

读取操作也是如此。如果您已使用“撇号技巧”,则可以从单元格的值中读取空字符串,但会得到一个空单元格值的空引用。