XPI的POI - 使用xwpfdocument

时间:2014-04-10 15:11:09

标签: java apache-poi xpages

为了帮助解决我遇到的另一个问题,我正在POI Word小部件的postGenerationProcess事件中测试以下代码:

var jce:writeXWPFDocument = new writeXWPFDocument();
var newString3 = jce.doSomething3(xwpfdocument);
print("newString3 = " + newString3);

doSomething3在.nsf。

中包含的Java类中定义
public class writeXWPFDocument {

public String doSomething3(XWPFDocument xwpfdocument) {
    return "DO SOMETHING - xwpfdocument";
}}

当我运行此代码时,我收到错误:

Java method 'doSomething3(org.apache.poi.xwpf.usermodel.XWPFDocument)' 
on java class 'AZGPackage.writeXWPFDocument' not found

可能导致此错误的原因是什么? @Knut Hermann - 这是一个测试,它与你帮助我的另一个问题有关。

2 个答案:

答案 0 :(得分:1)

编辑以便更容易找到正确的答案:

我在一些应用程序中使用过poi。我遇到过两次类似的问题:首先,通常是我不小心从错误的包中导入了一个具有相同名称的类(如lotus.local.domino.Database而不是lotus.domino.Database)。另一次我遇到这个(并且唯一一次包名称相同)就是当我在插件中添加poi时,我已经添加到构建路径中,并且还通过我构建的poi扩展库安装了它。如果您不能将对象转换为自身,那么ClassLoader就会出现问题,除了列出两次的类之外,我不知道会导致什么。

答案 1 :(得分:0)

SSJS似乎将不同的对象类型传递给该函数。尝试将参数的类更改为Object,并测试返回类名。

在生产代码中,您可以使用instanceof检查参数是否具有正确的数据类型。

一般情况:考虑使用外观模式,这样就可以使复杂的Java类远离SSJS