0

据我所知,我使用的是一个相对较旧的 Actuate 版本,只有最低限度的许可(或多或少)。由于这些限制,我们从头开始制作了许多功能,据我了解,还有其他许可证可以本地提供这些功能,但由于我们只有 Actuate 作为处理我们主要软件的第三方的一部分,目前我无法获得额外的许可证。

话虽如此,我的大部分工作都涉及开发变通方法和各种轮子改造。我们的客户需求主要围绕将数据导出开发为某种形式的平面文件或其他允许轻松过滤/排序/数据挖掘/等的形式。我们针对这些问题的主要解决方法是简单地将给定查询导出到带有 xls 扩展名的 CSV 文件,这样它就可以在 Excel 中打开,供普通最终用户查看和处理。这有一些缺陷,例如 Excel 将数据误解为不应该的格式,但除此之外,这对我们来说效果很好。

时间已经过去,客户的需求要求越来越复杂的文件格式。将平面 CSV 文件伪装成 Excel 文件或客户端通过简单格式进行导入处理的日子已经一去不复返了,取而代之的是更好的图形界面,例如 Excel(旧的 XLS 格式和新的 XLSX),这就是我们已经随着我们的进行,不得不变得有点棘手,但到目前为止,我们的方法已被证明是笨拙的,并且仍然需要在本机程序中对文件进行一些修饰,而不是制作为此目的而设计的文件。

我们的设置旨在构建文件并保存它们,除了说“开始”之外,无需任何额外的用户输入。我们的问题是我们对 Actuate 工具的访问权限意味着,我们充其量只能从 Actuate 的 GUI 中手动保存文件,而不是让流程自动化,这会涵盖更现代的格式,导致我们作弊并构建一个在 Excel 中打开的 XML 文件足以继续进行。这使我们可以更复杂一点,例如一个文件中的多个电子表格。但是,它仍然相当陈旧且漏洞百出,更不用说除了简单的电子表格之外什么都没有。

我们最近的请求现在将我带到了我来到这里的地方,以了解有关如何前进的一些见解。这个请求基本上把我们放在了一个地方,我能理解的唯一方法是从头开始以原生 Excel 格式构建文件。然而,我们的限制迫使我们基本上以某种方式构建一个文本文件或一系列文件,这确实使我们能够制作 XLSX 文件(我们可以运行一个脚本来压缩它们并相应地重命名文件)。我对此的研究表明,我正在尝试的任务将非常繁重,并且可能充满漏洞来建立一个过程来做到这一点。如果需要,我会这样做,但这是我试图避免的事情,这就是我在这里的原因。

由于 Actuate 的限制,我基本上是被迫进入 VB3 环境。这可能是最大的限制因素。我目前在 Actuate 中的流程是一些存储过程,它们具有用于简单 XML 电子表格格式的静态 XML,对于每个变体都必须冗余存储,这给了我一些相当复杂的代码,就变量存储量而言。随着请求的增加,冗余量迅速增加,而且我仍然无法以这种方式执行 Excel 的一些更高级的功能,这两种情况都不会发生。理论上我可以构建 XLSX 文件的结构并压缩它们,但是这个过程可能需要很长时间才能构建,而且我可能完全重新发明轮子来这样做。

长话短说,我需要能够将通过 SQL 获得的数据导出到 XLS 或 XLSX,所有这些都需要图表构建支持。这需要完全自动化,以便最终用户可以说“为我构建这些”,并且除了来自 SQL 的查询参数之外,它将在没有大量用户输入的情况下构建(包括图表)。我目前的计划是在运行时通过 ERDPro 的 VB3 代码从头开始构建 XLSX 格式所需的 XML 文件,然后是一个 shell 脚本来压缩它们并使用 XLSX 扩展名重命名 zip,在调查中显示为要做很多努力,至少从头开始。我的问题是,有没有我没有看到的更简单的方法?

4

0 回答 0