excel的单元格什么时候判断为null?

利用HSSFRow row = ws.GetRow(1);HSSFCell cell =row.GetCell(20);读取sheet1第2行第21列的单元格,但是单元格里面没有任何东西时,有的被读成null,有的被读成{},而被读成null时对单元格进行传输数据就会报错“未将对象引用设置到对象的实例”,请问为什么有的空单元格会读成null而有的不会?

另外我新建了一个sheet2,里面单元格全部为空,写了一个循环读所有的单元格,每个都被读为了null。所以原先的sheet1中的单元格应该是进行了某些操作才会将空单元格读为{}。原先U3也读为了null,但我在里面输入一个字符串“www”,读成{www},再将”www“删了,读的就是{}了,但是同样的办法在别的读为null的单元格上行不通。有人懂这之中的原理吗?

c#

2个回答

excel有一个最大行列数,当你拖动滚动条,会增加表格大小,尽管这些地方没有内容

在最大行列数之外的区域,就是null

waq127520
waq127520 可是我第20行第4列(U3)与第20行第5列(U5)都是空,但是U3读的是{},U4读的是null,难道第5列就为最大列数之外了吗
大约一年之前 回复

这个要从你ws是怎么构建的说起
如果你是从已有文件构建的,那个文件那格没东西就是null
如果你是new出来的,所有的都是null,你需要一个个create出来

waq127520
waq127520 是从已有文件构建的,但是有的那格没东西读的却不是null而是{}
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问