有没有人成功使用LotusScript的ODF“Simple API”来生成文档?

时间:2014-01-13 20:04:52

标签: java lotus-notes lotusscript odf ls2j

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

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

  • ODFDOM-java的0.8.7.jar
  • 简单-ODF-v0.4.5.jar
  • Xerces-J-bin.2.11.0-xml-schema-1.1-beta.zip

在代理的Sub Initialize中使用此代码:

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

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

1 个答案:

答案 0 :(得分:0)

你必须“使用”你的库“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调用它。