java - 有人成功使用 LotusScript 中的 ODF "Simple API"生成文档吗?

标签 java lotus-notes lotusscript odf ls2j

我尝试使用 LS2J 从 LotusScript 调用 ODF Toolkit ( https://incubator.apache.org/odftoolkit/simple/index.html ) 的简单 API,但无法正确使用它。

我已将以下内容包含在名为 ODFDOM 的 Java 库中:

  • odfdom-java-0.8.7.jar
  • simple-odf-v0.4.5.jar
  • Xerces-J-bin.2.11.0-xml-schema-1.1-beta.zip

在代理的子初始化中使用此代码:

Dim js As javasession
Dim jc As Javaclass
Dim jerr As JAVAERROR
Dim jms As JavaMethodCollection
Dim jobj As Javaobject, jdoc As JavaObject
Dim jm As JAVAMETHOD

Set js = New JavaSession
Set jc = js.Getclass("org/odftoolkit/simple/SpreadsheetDocument")
Set jm = jc.GetMethod("newSpreadsheetDocument", "()Lorg/odftoolkit/simple/SpreadsheetDocument;")
Set jdoc = jm.Invoke

执行时出现错误:

JS2J 错误:抛出 java.lang.NullPointerException

关于我做错了什么的任何线索吗?

最佳答案

您必须“使用”您的库“ODFDOM”并以带有点的 Java 表示法获取您的类。您可以通过直接调用静态方法来缩短代码:

Use "ODFDOM"
Dim js As javasession
Dim jSpreadsheetDocumentClass As Javaclass
Dim jdoc As JavaObject

Set js = New JavaSession
Set jSpreadsheetDocumentClass  = js.Getclass("org.odftoolkit.simple.SpreadsheetDocument")
Set jdoc = jSpreadsheetDocumentClass.newSpreadsheetDocument()

更新:

LS2J 不适用于资源。每当您在 Java 代码中使用资源时,它都不适用于 LS2J。在短暂查看 ODF Toolkit 源代码后,我看到了所使用的资源。

因此,创建一个 Java 代理并从 LotusScript 调用它。

关于java - 有人成功使用 LotusScript 中的 ODF "Simple API"生成文档吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21100358/

相关文章:

java - JSTL:检查字符串是否为空

java - 如何在 TestNG 中禁用整个测试(包括继承的方法)

lotus-notes - Lotus Notes - 将电子邮件导出到纯文本文件

java - 从上次在 java 中运行获取新的 Notes 文档

version-control - 以编程方式创建 'versions'

c# - Lotus Notes 中的重复日历条目

java - 为组 xxx 提交偏移量时发生错误 UNKNOWN_MEMBER_ID

javascript - JavaScript以任何方式声明严格类型变量

Lotus Domino Designer 中 Java 库的 Java 版本