使用POI4XPAGES的MS Word

使用POI4XPAGES的MS Word,xpages,Xpages,我在使用MSword 2016版本的POI4Xpages时遇到问题 这是我的设置细节 -我有lotus notes客户端9.0 FP1 -已安装的POI4XPages服务器和设计器客户端 -POI Xpages(1.3.1) -我用MSWord2016 我可以让它运行安装程序。我的问题是,word文档中的第一个字段()只能填充xpage文档中的值。word文档中的其余字段没有填充值 目前,我正在尝试将前3个字段填充到word文档中 我在此附上我的按钮代码和单词poi自定义控件 先谢谢你 ****

我在使用MSword 2016版本的POI4Xpages时遇到问题

这是我的设置细节 -我有lotus notes客户端9.0 FP1 -已安装的POI4XPages服务器和设计器客户端 -POI Xpages(1.3.1) -我用MSWord2016

我可以让它运行安装程序。我的问题是,word文档中的第一个字段()只能填充xpage文档中的值。word文档中的其余字段没有填充值

目前,我正在尝试将前3个字段填充到word文档中

我在此附上我的按钮代码和单词poi自定义控件

先谢谢你

***********这是我的生成按钮***********

            <xp:eventHandler event="onclick" submit="true"
                refreshMode="complete">
                <xp:this.action>
                    <xp:actionGroup>
                        <xp:executeScript>
                            <xp:this.script><![CDATA[#{javascript:try{
var doc = document1.getDocument(true);
viewScope.put("tmpf1",doc.getItemValueString("kindofCase"));
viewScope.put("tmpf2",doc.getItemValueString("TypeofCase"));
viewScope.put("tmpf3",doc.getItemValueString("cxExt15"));
viewScope.put("tmpf4",doc.getItemValueString("cxAmount"));
viewScope.put("tmpf5",doc.getItemValueString("cxClientName"));
viewScope.put("tmpf6",doc.getItemValueString("caseNum"));
viewScope.put("tmpf7",doc.getItemValueString("BenfAcct"));
viewScope.put("tmpf8",doc.getItemValueString("BenfBranch"));
viewScope.put("tmpf9",doc.getItemValueString("cxDLQ"));
viewScope.put("tmpf10",doc.getItemValueString("cxForm1"));
viewScope.put("tmpf11",doc.getItemValueString("cxForm2"));
viewScope.put("tmpf12",doc.getItemValueString("cxRecRequestvia"));
viewScope.put("tmpf13",doc.getItemValueString("cxChannel"));
viewScope.put("tmpf14",doc.getItemValueString("BenfBank"));
viewScope.put("tmpf15",doc.getItemValueString("BenfName"));
viewScope.put("tmpf16",doc.getItemValueString("BenfID"));
viewScope.put("tmpf17",doc.getItemValueString("cxLength4"));
viewScope.put("tmpf18",doc.getItemValueString("BenfNationality"));
viewScope.put("tmpf19",doc.getItemValueString("BenfState"));
viewScope.put("tmpf20",doc.getItemValueString("BenfCity"));

//print (viewScope.tmpf2);
} catch (e){
    print (e);
}}]]></xp:this.script>
                        </xp:executeScript>
                        <wgpoi:generateDocument documentId="wb"></wgpoi:generateDocument>
                    </xp:actionGroup>
                </xp:this.action>
            </xp:eventHandler>
        </xp:button>
<wgpoi:document id="wb" downloadFileName="whistleblower.docx"
            pathInfo="download">
            <wgpoi:this.templateSource>
                <wgpoi:resourcetemplate fileName="word2016.docx"></wgpoi:resourcetemplate>
            </wgpoi:this.templateSource>
            <wgpoi:this.bookmarks>
                <wgpoi:docbookmark value="#{javascript:viewScope.tmpf1}"
                    name="field1">
                </wgpoi:docbookmark>
                <wgpoi:docbookmark value="#{javascript:viewScope.tmpf2}"
                    name="field2">
                </wgpoi:docbookmark>
                <wgpoi:docbookmark value="#{javascript:viewScope.tmpf3}"
                    name="field3">
                </wgpoi:docbookmark>
            </wgpoi:this.bookmarks>
        </wgpoi:document>

**************POI字自定义控件**************

            <xp:eventHandler event="onclick" submit="true"
                refreshMode="complete">
                <xp:this.action>
                    <xp:actionGroup>
                        <xp:executeScript>
                            <xp:this.script><![CDATA[#{javascript:try{
var doc = document1.getDocument(true);
viewScope.put("tmpf1",doc.getItemValueString("kindofCase"));
viewScope.put("tmpf2",doc.getItemValueString("TypeofCase"));
viewScope.put("tmpf3",doc.getItemValueString("cxExt15"));
viewScope.put("tmpf4",doc.getItemValueString("cxAmount"));
viewScope.put("tmpf5",doc.getItemValueString("cxClientName"));
viewScope.put("tmpf6",doc.getItemValueString("caseNum"));
viewScope.put("tmpf7",doc.getItemValueString("BenfAcct"));
viewScope.put("tmpf8",doc.getItemValueString("BenfBranch"));
viewScope.put("tmpf9",doc.getItemValueString("cxDLQ"));
viewScope.put("tmpf10",doc.getItemValueString("cxForm1"));
viewScope.put("tmpf11",doc.getItemValueString("cxForm2"));
viewScope.put("tmpf12",doc.getItemValueString("cxRecRequestvia"));
viewScope.put("tmpf13",doc.getItemValueString("cxChannel"));
viewScope.put("tmpf14",doc.getItemValueString("BenfBank"));
viewScope.put("tmpf15",doc.getItemValueString("BenfName"));
viewScope.put("tmpf16",doc.getItemValueString("BenfID"));
viewScope.put("tmpf17",doc.getItemValueString("cxLength4"));
viewScope.put("tmpf18",doc.getItemValueString("BenfNationality"));
viewScope.put("tmpf19",doc.getItemValueString("BenfState"));
viewScope.put("tmpf20",doc.getItemValueString("BenfCity"));

//print (viewScope.tmpf2);
} catch (e){
    print (e);
}}]]></xp:this.script>
                        </xp:executeScript>
                        <wgpoi:generateDocument documentId="wb"></wgpoi:generateDocument>
                    </xp:actionGroup>
                </xp:this.action>
            </xp:eventHandler>
        </xp:button>
<wgpoi:document id="wb" downloadFileName="whistleblower.docx"
            pathInfo="download">
            <wgpoi:this.templateSource>
                <wgpoi:resourcetemplate fileName="word2016.docx"></wgpoi:resourcetemplate>
            </wgpoi:this.templateSource>
            <wgpoi:this.bookmarks>
                <wgpoi:docbookmark value="#{javascript:viewScope.tmpf1}"
                    name="field1">
                </wgpoi:docbookmark>
                <wgpoi:docbookmark value="#{javascript:viewScope.tmpf2}"
                    name="field2">
                </wgpoi:docbookmark>
                <wgpoi:docbookmark value="#{javascript:viewScope.tmpf3}"
                    name="field3">
                </wgpoi:docbookmark>
            </wgpoi:this.bookmarks>
        </wgpoi:document>


这是因为第二个字段用作“tmp2”而不是“tmpf2”,第三个字段是从wbdoc而不是从doc读取的吗?嗨,克努特,谢谢你注意到我代码中的错误。我现在已经更正了,填充到word文档中不起作用。它只占用第一个字段。以上代码现在在您的obersvationAre更改了TypeOfCase和cxExt15字符串值的字段后进行了修订?viewScope变量设置是否正确?是否已关闭拼写检查器?出于一些不可理解的原因,spellchecker正在更改后端中的XML格式,而POI4XPages无法找到值,因为它们不再位于后端中的同一元素中。您好,Sven,感谢您的更新。是,字段为文本类型