我正在寻找评论、替代解决方案和建议。
背景:我们目前有一个使用 struts 框架在 Websphere 上构建的 CRUD 应用程序。我们使用独立的 C# 应用程序生成 excel 文档,该应用程序使用 ActiveX 控件与 Web 应用程序绑定在一起。我们传递包含每个文档元素的 XML。在每个文档下,我们都有包含名称和值的占位符。文档生成应用程序从文件服务器获取名称(单元格引用或命名范围)和模板副本。然后它将数据添加到文档中的所有指定位置,并将文档保存到用户的“我的文档”文件夹中。然后它会尝试将文档上载到 Documentum。
当前问题:其中一个模板已经增长到非常大的尺寸。在大多数情况下,这是因为需要显示的数据量。我们将信息分成几组。这些分组中的每一个都需要能够显示最多 20 件的信息。其中一些选项卡还需要为片段显示多达 100 个子元素。由于自制文档生成框架的当前性质,不可能动态生成具有可变数量元素的不同部分。这最近开始导致模板的维护出现问题。如果我们需要进行格式更改,它不仅需要复制到每个选项卡,还可能复制到每个选项卡中的每个实例。
我开始研究 jXLS 和它的模板功能,但由于它是基于 java 的,因此将它与 c# 应用程序集成会很麻烦。其他选择是将类似 jXLS 的功能构建到我们的生成框架中,将第三方库集成到框架中,或者在应用程序服务器上生成文档。我宁愿避免重新发明轮子,并且想从某个地方重新使用一个库。
我也希望尽可能不影响现有的工作流程。所以现在首选的解决方案顺序看起来像这样。
1) 使用 .NET 的现有库
2) 从 DocumentGeneration 框架调用 jXLS 库。
3) 在生成框架中构建模板功能
4) 在应用服务器上使用 jXLS(由于我们将流程上传到 Documentum 的方式)
你对此有什么建议?