Office版本差异导致的.net调用Excel的问题 [Permalink]
Tue Mar 01 11:33:32 CST 2005
为了处理excel文件的数据导入,我使用了Excel.Application这个对象。在我的OfficeXp环境下,打开workbook的做法是这样的:
oWB=oXL.Workbooks.Open(XlsFile.FullName, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);可是到了客户的Office2000环境下,竟然出了这个不知所云的错误:
****** [ERROR] ******
msg: 未将对象引用设置到对象的实例。
loc: at Excel.Workbooks.Open(String Filename, Object UpdateLinks, Object
ReadOnly, Object Format, Object Password, Object WriteResPassword, Object
IgnoreReadOnlyRecommended, Object Origin, Object Delimiter, Object
Editable, Object Notify, Object Converter, Object AddToMru, Object Local,
Object CorruptLoad)
at PriceComparator_Console.Form1.parseFile()
********************
oWB=oXL.Workbooks._Open(XlsFile.FullName, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);就太平了。另外SaveAs时候office2003和officexp/2000也不一样。同理提供了_SaveAs。
[in, optional] VARIANT Local, [in, optional] VARIANT CorruptLoad,这样两个参数。应该是新版office提供的功能。不过长此以往,不得______Open了么?反正现在Wookbooks接口的OpenText已经到了__OpenText。。COM不熟,不知道这是不是规范使然。
Posted by: miles
Comments on this entry