0

IronPythonのEPPlusDotNetライブラリを使用してExcelスプレッドシートを開いて更新しようとしていますが、ライブラリへの参照を確立できません。問題が私のコードにあるのか、Dotネットライブラリ(非常に基本的)を参照することの理解、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を作成しました。

4

1 に答える 1

1

Windows エクスプローラーで EPPlus.dll ファイルのプロパティを調べたところ、このファイルはオペレーティング システムによって "ブロック" されていることがわかりました。これは、ファイルが別のコンピューターで作成されたものであり、潜在的に危険であることが認識されていたためです。[ブロック解除] ボタンをクリックすると、IronPython がファイルにアクセスできるようになりました。

ありがとう、マイクロソフト!

于 2012-10-11T17:30:53.173 に答える