我正在尝试使用IronPython中的EPPlus Dot Net库来打开和更新Excel电子表格,但我无法建立对该库的引用。我不确定问题是在我的代码中,我对引用Dot net库(这是非常基本的)的理解,我下载和“安装”dll的方式,或者它是否与IronPython不兼容。
有人可以建议我如何从IronPython引用这个库吗?
这是我的python代码:
import sys
from collections import OrderedDict
sys.path.append(r'C:\EPPlus')
import clr
clr.AddReference('WindowsBase')
clr.AddReferenceToFile('EPPlus.dll') # Fails here.
clr.AddReferenceToFile('EPPlus.dll')
上的代码失败:
Traceback (most recent call last):
File "auction_support_epp.py", line 6, in <module>
IOError: System.IO.IOException: Could not add reference to assembly EPPlus.dll
at IronPython.Runtime.ClrModule.AddReferenceToFile(CodeContext context, Strin
g file)
. . .
这是C:\ EPPlus:
的目录列表 Directory of c:\EPPlus
10/11/2012 12:50 PM <DIR> .
10/11/2012 12:50 PM <DIR> ..
10/11/2012 12:35 PM 608,256 EPPlus.dll
1 File(s) 608,256 bytes
2 Dir(s) 137,501,888,512 bytes free
我通过下载库的分发zip并将文件剪切并粘贴到我使用Windows资源管理器创建的EPPlus文件夹中来创建EPPlus.dll。
答案 0 :(得分:0)
通过检查Windows资源管理器中EPPlus.dll文件的属性,我发现该文件被操作系统“阻止”,因为它知道它源自另一台计算机,因此存在潜在危险。单击“取消阻止”按钮使IronPython可以访问该文件。
谢谢,微软!