NJ *_*ali 10 .net c# import-from-excel
我用的是Vs2013.我创建了应用程序,其中我使用Excel文件作为输入并从文件中获取联系人.一切都在我的电脑里工作.我有Vs2013.Windows 8.1,Ms office 2007和2013.
当我在任何其他计算机上运行我的应用程序时,它会抛出
无法加载文件或程序集'office,Version = 15.0.0.0,Culture = neutral,PublicKeyToken = 71e9bc111e9429c'或其中一个依赖项.该系统找不到指定的文件
根据我的应用程序要求,我需要使用Office 2007到2013的Excel文件.
我已经提到了几个StackOverflow链接,但我没有得到结果.我被卡住了.请建议我如何解决这个问题.
小智 40
即使我有 Office 2010 并且 GAC 下没有Microsoft.Office.Interop.Excel文件夹,我也会收到此错误消息。
我在这里找到了适合我的案例的解决方案:
https: //www.add-in-express.com/forum/read.php?FID
=5&TID=15525 您必须引用这些文件夹中的两个 dll 文件:
C:\Windows\assembly\GAC_MSIL\Microsoft.Vbe.Interop\15.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll
和
C:\Windows\assembly\GAC_MSIL\office\15.0.0.0__71e9bce111e9429c\OFFICE.DLL
Jah*_*mic 15
使用 COMRreference 属性。例如,以下是 Excel 的 COMReference:
<ItemGroup>
<COMReference Include="Microsoft.Office.Interop.Excel">
<EmbedInteropTypes>true</EmbedInteropTypes>
<Guid>00020813-0000-0000-c000-000000000046</Guid>
<Isolated>false</Isolated>
<Lcid>0</Lcid>
<WrapperTool>primary</WrapperTool>
<VersionMajor>1</VersionMajor>
<VersionMinor>9</VersionMinor>
</COMReference>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
有关此讨论中的确切子属性的一些帮助:使用 Office 互操作时的错误 COMReference 条目 #5735
您的其他计算机需要安装相应版本的Office.15.0.0.0应对应于Office 2013 - 需要在目标计算机上安装(其他版本的Office可能无法运行).这几乎可以肯定意味着您正在使用MSOffice互操作库,这些库仅在安装了办公室且适用于相同版本时才有效.
或者,您可以重构代码以直接读取Excel XML.
我通过更改Excel.dll版本获得了解决方案.我使用的是15.0.0.0,现在我将其更改为12.0.0.0并且工作正常.我得到了dllAdd reference > Browse > C: > Windows > assembly > GAC > Microsoft.Office.Interop.Excel > 12.0.0.0_etc > Microsoft.Office.Interop.Excel.dll
| 归档时间: |
|
| 查看次数: |
29605 次 |
| 最近记录: |