EPPlus 能否区分 Excel 工作表中的空白单元格和空文本单元格?
Can EPPlus distinguish between blank cells and empty text cells in an Excel worksheet?
我正在使用 EPPlus .NET 库 (v4.0.4) 来解释保存的 Excel 工作簿。在一个这样的工作表中,一些空单元格已使用 Excel 'apostrophe' 技巧设置为 'text' 格式(即,用户在这些单元格中输入了一个撇号,因此 Excel 会将它们显示为空白)。
两个这样的单元格的示例XML如下:
<c r="F6" s="1" t="inlineStr">
<is>
<t />
</is>
</c>
<c r="G6" s="1" />
在这里,F6 有一个撇号(即是一个空文本单元格),G6 是真正的空白。
是否可以使用 EPPlus 读取此 'inline string' (inlineStr
) 属性 或以其他方式区分这两个单元格? ExcelRange / ExcelRangeBase 类 具有 Value
、Formula
、Style
等属性,但在检查表示上述两个单元格的对象时我看不出他们有什么区别。
我知道我可以通过阅读原始 XML 或使用替代库(可能是 ClosedXML 或类似库)手动执行此操作,但如果可能的话,我想这样做使用 EPPlus。
EPPlus 使用 null
值表示空单元格,returns 空字符串表示包含空字符串的单元格。
这适用于读取和写入操作。
因此,如果您使用 epplus 将空字符串写入单元格,那么该单元格将包含一个空字符串(因此将显示为空白但不等于 0),而如果您使用 epplus 将单元格的值设置为 null,那么它在 excel 中将为空(并且仍然显示为空白但等于 0)
同样适用于读取操作。如果您使用了 'apostrophe trick',则可以从单元格的值中读取空字符串,但将获得空单元格值的空引用。
我正在使用 EPPlus .NET 库 (v4.0.4) 来解释保存的 Excel 工作簿。在一个这样的工作表中,一些空单元格已使用 Excel 'apostrophe' 技巧设置为 'text' 格式(即,用户在这些单元格中输入了一个撇号,因此 Excel 会将它们显示为空白)。
两个这样的单元格的示例XML如下:
<c r="F6" s="1" t="inlineStr">
<is>
<t />
</is>
</c>
<c r="G6" s="1" />
在这里,F6 有一个撇号(即是一个空文本单元格),G6 是真正的空白。
是否可以使用 EPPlus 读取此 'inline string' (inlineStr
) 属性 或以其他方式区分这两个单元格? ExcelRange / ExcelRangeBase 类 具有 Value
、Formula
、Style
等属性,但在检查表示上述两个单元格的对象时我看不出他们有什么区别。
我知道我可以通过阅读原始 XML 或使用替代库(可能是 ClosedXML 或类似库)手动执行此操作,但如果可能的话,我想这样做使用 EPPlus。
EPPlus 使用 null
值表示空单元格,returns 空字符串表示包含空字符串的单元格。
这适用于读取和写入操作。
因此,如果您使用 epplus 将空字符串写入单元格,那么该单元格将包含一个空字符串(因此将显示为空白但不等于 0),而如果您使用 epplus 将单元格的值设置为 null,那么它在 excel 中将为空(并且仍然显示为空白但等于 0)
同样适用于读取操作。如果您使用了 'apostrophe trick',则可以从单元格的值中读取空字符串,但将获得空单元格值的空引用。