using Excel = Microsoft.Office.Interop.Excel;
有了这么一句代码,我在想后面用到"Microsoft.Office.Interop.Excel.xxxxx"的地方不都可以用“Excel.xxxxx”代替吗?
然而实际运行时,下面这句代码,老提示“Excel局部变量,在未定义前不能使用"
int LastRow = xlSheet.get_Range("A65536", "A65536").get_End(Excel.XlDirection.xlUp).Row;
而改成下列这样,就ok了。
int LastRow = xlSheet.get_Range("A65536", "A65536").get_End(Microsoft.Office.Interop.Excel.XlDirection.xlUp).Row;
啥子原因吗
?
15 个解决方案
#1
using Microsoft.Office.Interop;
#2
既然编译器能找到 Excel 局部变量,那么就说明确实存在这个变量定义。点击鼠标右键,选择“转到定义”去查看源代码。
#3
你用的是不是vs2015或者之前的版本
你是不是还有一个Excel的局部变量
你是不是还有一个Excel的局部变量
#4
别名Excel改Excel1,试试
#5
你调用和声明别名是在一个类中吗
#6
我也怀疑会不会还有一个Excel定义?
#7
是的可以考虑一下c#版本问题。
#8
如果这样写了,那么在与using Excel = Microsoft.Office.Interop.Excel;同时使用,那么 Excel 这个词儿就有歧义了。
#9
using
myExcel = Microsoft.Office.Interop.Excel; 用myExcel来使用其中的属性方法、
#10
我用VS2010特地试了一下是可以的,楼主肯定是有其它地方的代码影响了using Excel = Microsoft.Office.Interop.Excel;的使用。
#11
你调用和声明别名是在一个类中吗
#12
不知道楼主是在winform中还是asp中调用excel,个人经验经常会出现excel退不出去的情况,即使是dispose了,using了close了null了都没用,你可以在任务管理器里发现用尽办法各种关闭、清空后内存里还是有一个占用几十上百兆的excel,打开一次文件,就占用一份内存,直到程序退出,远没有当年用vb6省心,winform还凑活,asp就等着内存用尽吧。所以还是建议弄个可以操作excel文件的控件。
我之前各种baidu、实验后放弃了,后各位高手有没有什么办法?
我之前各种baidu、实验后放弃了,后各位高手有没有什么办法?
#13
最大可能性还是哪里定义了EXCEL这个变量
#14
你定义的 using
Excel 与 Microsoft.Office.Interop.
Excel 这两个Excel 名称重名,在下面调用Excel时,默认有个就近原则,也就是调用了你自己定义的using Excel,而你using类中没有
.XlDirection.xlUp,你把using Excel 换个变量名试试(不要与类库中的冲突OK)。应该就是这种情况。
#15
谢谢,原来症结在这里...
#1
using Microsoft.Office.Interop;
#2
既然编译器能找到 Excel 局部变量,那么就说明确实存在这个变量定义。点击鼠标右键,选择“转到定义”去查看源代码。
#3
你用的是不是vs2015或者之前的版本
你是不是还有一个Excel的局部变量
你是不是还有一个Excel的局部变量
#4
别名Excel改Excel1,试试
#5
你调用和声明别名是在一个类中吗
#6
我也怀疑会不会还有一个Excel定义?
#7
你用的是不是vs2015或者之前的版本量
是的可以考虑一下c#版本问题。
#8
using Microsoft.Office.Interop;
如果这样写了,那么在与using Excel = Microsoft.Office.Interop.Excel;同时使用,那么 Excel 这个词儿就有歧义了。
#9
using
myExcel = Microsoft.Office.Interop.Excel; 用myExcel来使用其中的属性方法、
#10
我用VS2010特地试了一下是可以的,楼主肯定是有其它地方的代码影响了using Excel = Microsoft.Office.Interop.Excel;的使用。
#11
你调用和声明别名是在一个类中吗
#12
不知道楼主是在winform中还是asp中调用excel,个人经验经常会出现excel退不出去的情况,即使是dispose了,using了close了null了都没用,你可以在任务管理器里发现用尽办法各种关闭、清空后内存里还是有一个占用几十上百兆的excel,打开一次文件,就占用一份内存,直到程序退出,远没有当年用vb6省心,winform还凑活,asp就等着内存用尽吧。所以还是建议弄个可以操作excel文件的控件。
我之前各种baidu、实验后放弃了,后各位高手有没有什么办法?
我之前各种baidu、实验后放弃了,后各位高手有没有什么办法?
#13
最大可能性还是哪里定义了EXCEL这个变量
#14
你定义的 using
Excel 与 Microsoft.Office.Interop.
Excel 这两个Excel 名称重名,在下面调用Excel时,默认有个就近原则,也就是调用了你自己定义的using Excel,而你using类中没有
.XlDirection.xlUp,你把using Excel 换个变量名试试(不要与类库中的冲突OK)。应该就是这种情况。
#15
using Microsoft.Office.Interop;
如果这样写了,那么在与using Excel = Microsoft.Office.Interop.Excel;同时使用,那么 Excel 这个词儿就有歧义了。
谢谢,原来症结在这里...