获取 excel 显示值

Getting the excel displayed value

我搜索了好几天,似乎找不到简单的答案。显示的值不一定是来自cell.InnerText的值。我在 post 之后看到 post,这要求您查看 cell.StyleIndex 属性 & cell.DataType.value 以确定如何获取显示的值。虽然我插入了其中的一些代码并且它起作用了,但我遇到了另一种情况,我没有处理单元格 StyleIndex 为 null 的情况,我只能假设单元格的格式为“常规”。屏幕值“-39718.96”,而 cell.InnerText returns“-39718.959999999999”。我意识到 Double.Parse(value).ToString() 可以轻松解决此问题,但格式 似乎源源不断,这是一个候选名单,日期是另一个问题。似乎我们只能自己处理每种不同的风格。难道微软真的没有创建一个 public api returns 格式化显示值并且没有人真正编写一个完整的解决方案来处理这个乱七八糟的集群吗?

将改用 ClosedXML 库

将 Openxml 用于工作表非常困难(比用于 Word 困难得多)。如果我是你,我会使用 ClosedXMl nuget 包,因为它简化了工作表的 Openxml。