问题描述
我在比较excel表里获取的值和datagridview获取的标题是否相等时if(xlsheet3.Cells[1,j]==(dt.Columns[i].HeaderText))发现总是不相等,但实际上两者的值是一样的。xlsheet3.Cells[1,j]返回的类型是object,我把它的值转换成string类型后xlsheet3.Cells[1,j].Value.ToString(),它总是出现Object不包含Value的定义,说什么缺少using引用。xlsheet3.Cells[1,j].Text也是一样的,Sheet1.Cells[1,1]不包含Value或者Text的属性吗
解决方案
解决方案二:
我记得是xlsheet3.Cells[1,j].ToString()吧
解决方案三:
引用1楼songbing774933的回复:
我记得是xlsheet3.Cells[1,j].ToString()吧
这个虽然没错,但是也不能表示单元格的值,比如说Sheet.Cells[1,1]=xlsheet3.Cells[1,j].ToString(),在单元格(1,1)里显示的就是System.__ComObject
解决方案四:
不行就强转成range再取值
解决方案五:
引用3楼xdashewan的回复:
不行就强转成range再取值
大哥,能详细点嘛,这个问题快把我折磨疯了,网上找了很多资料,有些说的是取Text属性或者Value,可是我的怎么就不行啊
解决方案六:
引用4楼baidu_30536197的回复:
大哥,能详细点嘛,这个问题快把我折磨疯了,网上找了很多资料,有些说的是取Text属性或者Value,可是我的怎么就不行啊
Excel.Rangerange=(Excel.Range)worksheet.Cells[1,1];range.Text.ToString();
解决方案七:
引用4楼baidu_30536197的回复:
Quote: 引用3楼xdashewan的回复:
不行就强转成range再取值大哥,能详细点嘛,这个问题快把我折磨疯了,网上找了很多资料,有些说的是取Text属性或者Value,可是我的怎么就不行啊
varrange=(Excel.Range)worksheet.Cells[m,n]