使用 Lotus 脚本从 Xpages 导出

Export from Xpages using Lotus script

我需要一些使用 Xpages 和 Lotusscript 的启发。

我在 Xpages 中有一个导出按钮,它将 ID 作为参数发送到 Lotus 脚本代理,然后使用该 ID 从 Web 服务获取数据并将其导出到 .csv。 该代理已经过测试并且正在运行。 当我 运行 笔记中的 Xpages 并尝试导出它正在工作的数据时,该文件显示在设计用于的文件夹中。 但是当 Xpage 从浏览器(chrome,mozilla)运行ning 并且导出被推送时,什么也没有发生。 我必须使用其他方式导出数据吗? 你能给我一些解释如何从浏览器导出数据吗

您在哪里测试代理以及您在哪里寻找文件?

当来自浏览器的 XPages 运行s 时,浏览器上的所有 运行 都是客户端 JavaScript。服务器上的任何后端代码(SSJS 等)运行,LotusScript 代理也会在服务器上运行。因此,如果 LotusScript 代理正在创建 CSV 文件并将其保存到文件夹中,它会将其保存到服务器上的该文件夹中。

从浏览器导出 运行ning 通常会 return HTML 或 PC 可以解释为需要在特定程序中打开的其他内容,例如Excel。但是您需要将代码保存在 Notes 文档中,然后访问该文档并将结果打印回浏览器。

OpenCSV 等开源项目具有 Java 用于为浏览器输出 CSV 数据流的库。 (它不是 Apache 许可的,因此不能在 Apache 许可下放在 OpenNTF 上。)

我可以推荐 OpenNTF 上的 POI4XPages 项目。轻松导出视图

最简单的调整是将代理的输出重定向到 "console" - 因此不要打印到文件(例如 Open File,然后是 Print #1),而是使用普通的 Print。还要添加 content-type header.

在 XPages 中,您可以指定代理的 url (http(s)://server/path to nsf/agent?OpenAgent),浏览器将获得代理的响应 - 您的 CSV 到底是什么。它通常会在 Excel 下载并打开。

确保将代理的安全设置更改为 "Run As a Web User"。不然这个代理不会运行.