2

我想在我的 .NET 应用程序中使用 Apache POI,我知道有一个端口 NPOI,但它不完整并且没有 PowerPoint 相关功能。

我尝试使用以下命令对其进行 IKVM 处理:

ikvmc -target:library poi-3.8.jar poi-ooxml-3.8.jar poi-ooxml-schemas-3.8.jar poi-excelant-3.8.jar poi-scratchpad-3.8.jar

但是在使用生成的 dll 中的类后,我执行了应用程序,得到了这个错误:

The type initializer for 'org.apache.poi.xslf.usermodel.XMLSlideShow' threw an exception.

有人可以指导我到我可以下载 IKVMed Apache POI 的链接,用谷歌搜索它,但到目前为止还没有多少运气。

4

1 回答 1

3

我刚刚完成了使用 IKVM 成功转换 POI 3.9 的项目。

先决条件:

  • 下载 POI 3.9 并将所有 JAR 文件复制到一个目录中
  • 下载IKVM(我用的是0.46.0.1版本)

以下命令(在所有 POI JAR 所在的同一目录中的 Windows 7 命令行中运行)对我有用:

ikvmc -target:library xmlbeans-2.3.0.jar
ikvmc -target:library stax-api-1.0.1.jar

ikvmc poi-ooxml-schemas-3.9-20121203.jar -target:library -reference:xmlbeans-2.3.0.dll -reference:stax-api-1.0.1.dll 


ikvmc -target:library log4j-1.2.13.jar
ikvmc -target:library commons-logging-1.1.jar
ikvmc -target:library commons-codec-1.5.jar

ikvmc poi-3.9-20121203.jar -target:library -reference:log4j-1.2.13.dll -reference:commons-logging-1.1.dll -reference:commons-codec-1.5.dll

ikvmc -target:library dom4j-1.6.1.jar

ikvmc poi-ooxml-3.9-20121203.jar -target:library -reference:poi-3.9-20121203.dll -reference:poi-ooxml-schemas-3.9-20121203.dll -reference:dom4j-1.6.1.dll -reference:xmlbeans-2.3.0.dll

希望能帮助到你。

于 2013-01-08T03:09:04.537 回答