选择接受空值的 Excel 文件的所有行的 linQ
使用 LinQ 和 openXML 读取 excel 2007 工作正常:
IEnumerable<String> textValues =
from cell in row.Descendants<Cell>()
where cell.CellValue != null
select
(cell.DataType != null
&& cell.DataType.HasValue
&& cell.DataType == CellValues.SharedString
? sharedStrings.ChildElements[
int.Parse(cell.CellValue.InnerText)].InnerText
: cell.CellValue.InnerText)
;
但是,如果我的一个单元格为空(空白)。然后它们被排除在 textValues 中。如何更改查询以选择包含空白值的所有单元格,我已经尝试过此查询:
from cell in row.Descendants<Cell>()
select cell.CellValue.ToString();
但我收到此错误:
Object reference not set to an instance of an object.
选择查询应该如何?
提前致谢。
It is working fine for me to read excel 2007 using LinQ and openXML:
IEnumerable<String> textValues =
from cell in row.Descendants<Cell>()
where cell.CellValue != null
select
(cell.DataType != null
&& cell.DataType.HasValue
&& cell.DataType == CellValues.SharedString
? sharedStrings.ChildElements[
int.Parse(cell.CellValue.InnerText)].InnerText
: cell.CellValue.InnerText)
;
However, if one of my cells are null (blank). Then they are excluded in the textValues. How can I change the query in order to select all cells included blank values, I already tried this query:
from cell in row.Descendants<Cell>()
select cell.CellValue.ToString();
but I got this error:
Object reference not set to an instance of an object.
How should the select query to be?
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试:
cell.CellValue
为null
,并且在对其调用ToString()
时会出现异常。Try:
cell.CellValue
isnull
and you get the exception when callingToString()
on it.