关于读word中table出现“无法将带 [] 的索引应用于“Interop.Word.Tables”错误的解决
2013-04-21 18:00
211 查看
对于“无法将带 [] 的索引应用于“Interop.Word.Tables”类型的表达式”的错误
错误来源:
这是在网上找到的读取word中table的部分代码:
读取word中table的方法网上很多都有说,大同小异,这里不再列出。
错误解决:是因为我引用的word的类库版本不同,版本较高时就会出现这种问题。这里有两种解决方式:
1、将引用的word的dll降低版本。这种方式我觉得不是一个好的解决方法。
2、通过查看Tables对象,发现里边有一个items方法。所以这里其实并不是没有相应的功能提供。
试想,如果word的版本提高了,但是把常用的功能去掉了,这个是十分不合理的。所以低版本的dll中所具有的功能在高版本中肯定也会存在。只不过是其表现形式不同了。
我的解决方式其实就是将doc.Tables[1]替换为了doc.tables.Item(1),然后一切正常了。
我的认识:其实这个小错误,本来没必要单独拿出来说明。或许有好多人也是这样想的,所以导致我在goole这个问题时,几乎找不到一个合适的答案(只发现了第一种解决方式,但是我不怎么赞同)。这里我也是想说明下自己的体会:
1、过去遇到问题,首先的想法就是,在网上找一个答案。不过也确实现在网络上的资源越来越多,几乎是查什么都就可以找到。
但是这样却是忽略了个人的能力,我一直认为记忆的能力不如发现的能力神圣。所以遇到问题不应该是先想到的是百度,谷歌。当发现靠自己真的是解决不了了,然后再去借助外力。
2、对于新的只是应该抱有敬畏心态,或许新知识存在一定优势,它提供了更便捷的方式、更多的方法,但是他也很难避免对过去的技术进行了一些变动,从而导致过去的一些很常用的方法出现错误。这个虽然大多是可以解决的,但是仍然也会有一个时间的浪费。
3、不要过于相信网络,目前网上的信息,你抄我,我抄你的,一段相同的代码几乎随处可见。有的代码在抄来抄去的过程中丢失了其应有的一些属性,从而使得看起来很费劲,或者直接就是看不懂。然后就是随着技术的不断更新,网络上有好多资源已经不适用了,导致查到的方法不再适用。
错误来源:
这是在网上找到的读取word中table的部分代码:
读取word中table的方法网上很多都有说,大同小异,这里不再列出。
doc = cls.Documents.Open(ref path, ref missing, ref missing, ref missing, //根据path来获取word对象 ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); table = doc.Tables[1]; //获取word中的table String text = table.Cell(rowIndex, colIndex).Range.Text; //获取table中的值 text = text.Substring(0, text.Length - 2); //去除尾部的mark红色部分就是出现错误的代码。
错误解决:是因为我引用的word的类库版本不同,版本较高时就会出现这种问题。这里有两种解决方式:
1、将引用的word的dll降低版本。这种方式我觉得不是一个好的解决方法。
2、通过查看Tables对象,发现里边有一个items方法。所以这里其实并不是没有相应的功能提供。
试想,如果word的版本提高了,但是把常用的功能去掉了,这个是十分不合理的。所以低版本的dll中所具有的功能在高版本中肯定也会存在。只不过是其表现形式不同了。
我的解决方式其实就是将doc.Tables[1]替换为了doc.tables.Item(1),然后一切正常了。
我的认识:其实这个小错误,本来没必要单独拿出来说明。或许有好多人也是这样想的,所以导致我在goole这个问题时,几乎找不到一个合适的答案(只发现了第一种解决方式,但是我不怎么赞同)。这里我也是想说明下自己的体会:
1、过去遇到问题,首先的想法就是,在网上找一个答案。不过也确实现在网络上的资源越来越多,几乎是查什么都就可以找到。
但是这样却是忽略了个人的能力,我一直认为记忆的能力不如发现的能力神圣。所以遇到问题不应该是先想到的是百度,谷歌。当发现靠自己真的是解决不了了,然后再去借助外力。
2、对于新的只是应该抱有敬畏心态,或许新知识存在一定优势,它提供了更便捷的方式、更多的方法,但是他也很难避免对过去的技术进行了一些变动,从而导致过去的一些很常用的方法出现错误。这个虽然大多是可以解决的,但是仍然也会有一个时间的浪费。
3、不要过于相信网络,目前网上的信息,你抄我,我抄你的,一段相同的代码几乎随处可见。有的代码在抄来抄去的过程中丢失了其应有的一些属性,从而使得看起来很费劲,或者直接就是看不懂。然后就是随着技术的不断更新,网络上有好多资源已经不适用了,导致查到的方法不再适用。
相关文章推荐
- Word 图片无法显示,出现对话框:错误,嵌入对象无效的解决办法
- 关于VB.NET出现“集合已修改;可能无法执行枚举操作”错误的解决
- 在Asp.net中建立Microsoft.Office.Interop.Word.Application时出现“拒绝访问”错误的解决方法
- 关于升级ADT22后无法使用jar包、bundle库,出现java.lang.ClassNotFoundException错误的解决
- 关于2003Server下IIS运行.net程序IE无法访问出现403.1错误的解决过程
- Word 图片无法显示,出现对话框:错误,嵌入对象无效的解决办法
- word中出现“由于文件许可权错误,word无法完成保存操作”的解决办法
- 关于连接myEclipse连接mysql时出现 Table 'performance_schema.session_variables' doesn't exist错误解决方法
- 在Asp.net中建立Microsoft.Office.Interop.Word.Application时出现“拒绝访问”错误的解决方法
- 在Asp.net2.0中建立Microsoft.Office.Interop.Word.Application时出现“拒绝访问”错误的解决方法
- 解决Mathtype6.9安装之后无法被word加载的情况,出现错误编号53和48
- Word 图片无法显示,出现对话框:错误,嵌入对象无效的解决办法
- 关于2003Server下IIS运行.net程序IE无法访问出现403.1错误的解决过程
- opencv中关于图像图像处理时出现Bad argument (Array should be the cvMat or IplImage) in unknown function ……错误的解决办法
- 备份MySQL出现Can’t open file when using LOCK TABLES错误的解决方法
- C# 导出Word报”无法打开Office open xml文件。因为文件内容有错误“ 解决方法
- 错误代码:1100 Table 't_depart_info' was not locked with LOCK TABLES的解决方法
- 关于Visual Studio 2013 编译 multi-byte character set MFC程序出现 MSB8031 错误的解决办法
- Windows 10封装中出现“无法验证你的Windows安装”错误解决方法 推荐
- 关于在maven项目下,从一个jsp页面通过重定向跳转到另一个jsp页面时出现404的错误的解决方法