我会尽量保持我的情景尽可能简短。
我目前正在工作的办公室在Windows 98 / XP上使用Lotus Smartsuite,使用大量Lotus Script将Lotus 123和Lotus Word Pro文档连接在一起。它们还大量使用Lotus Object Linking函数。我将在下面描述它的行为:
您可以使用数据丰富填充123电子表格中的行和列,对其进行样式设置并以您喜欢的方式对其进行格式化,并将其定义为范围(此处没有任何独特之处)。但是,您可以复制该范围并将其粘贴为Lotus Word Pro文档中的链接。然后,此链接按其范围名称进行分类,因此在123文件中扩展范围会导致Word Pro文档中的表格扩展。此链接还带有123电子表格中单元格的所有格式和样式。我想你现在知道了,这个链接完全是实时的,你可以双击对象中的任何地方,然后打开123文件进行编辑,所有更改都在两个文档之间前后移动。从测试设备中检索到的大多数数据都存储在这123个电子表格中,然后将其中的一部分链接到发送给客户的最终Lotus Word Pro报告文档中。
注意:为了清楚起见,这与Open Office中的DDE链接不同,它似乎允许复制未定义的单元格区域以导入到文档中,其中所有格式都是丢失和来回编辑不是直截了当的。它对OLE对象的行为也不同,它似乎只导入整个电子表格而不是它的一小部分。
然而,近年来,支持这个旧软件(Lotus)变得越来越困难,特别是在发送客户文档方面(Lotus Word Pro文件通常不受更现代的Office工具支持)和Lotus Smartsuite的技术支持似乎这几天几乎不存在。此外,由于担心主流IT技术人员不再使用脚本语言进行开发,因此持续的开发和支持似乎是徒劳的。一旦编写它的人转移到其他东西,我们将留下一个没有人可以帮助我们的语言的意大利面条脚本。
因此,我们的目标是在今年年底之前“实现”IT系统的“现代化”。 Linux也正在成为一个非常可行的选择(毫无疑问是Debian或衍生产品),但Open Office似乎没有上面提到的链接功能。这种联系如此重要的原因是因为办公室的老兵习惯于这样工作 - 将数据存储在电子表格中,稍后在Word Pro文档中链接回来等等。我认为他们非常渴望保持这种状态。这种做法正在进行,我们在现代办公工具中找不到它(正如我所要求的)。我可以看到,作为一名软件工程师(精通多种语言),这种做法不是最安全或最好的使用和存储数据的方式(数据库让人想起),但我想知道是否有人可以给我一些其他的好处为什么这是在工作场所的不良做法的原因(我一直相信你应该保持你的数据远离你的报告和格式,这两者永远不会缠绕 - 这看起来像电子表格地狱给我)...或者为什么继续这样做是件好事??
所以,对于那些还在我身边的人,我想我要问的是:
这种做法是存储数据,将其格式化为电子表格,还是直接在word文档之间来回导入,以及可以采取哪些措施?我想我需要证明自己的观点以防万一。
对于Linux或Windows,是否存在这种链接方法的任何现代替代方案(无论天气是好还是坏)?这个链接必须带有格式和动态范围大小(DDE链接似乎不是答案)。
如果你必须从头开始,你的解决方案是什么?将所有内容存储在数据库中并使用SQL来简单地询问word文档中所需的数据?你会怎么做?你会用什么软件?
对这种情况的任何帮助都会有所帮助,或者如果你知道我应该去哪里寻求建议,那也是值得赞赏的。
感谢您的阅读!
答案 0 :(得分:0)
我的建议是先退后一步。现在做事的方式有什么好处?这只是一种难以打破的习惯吗?文件和电子表格是否有任何理由需要按照它们的方式进行维护和链接,或者仅仅是一项要求,因为“这就是它之前的做法”?
如果您可以删除该要求,那么您有更多选择,并且您正在构建一个更易于理解和维护的系统。
关于问题1,我认为在电子表格中存储数据没有任何问题,特别是如果最终用户需要创建和维护数据并且开发人员有限。一些问题是,数据是否需要保护,电子表格之间是否相关,是否在公司内部重复,或者应该以更好的方式在整个公司内共享。如果其中任何一个都是真的那么集中式数据库会更有意义。就个人而言,我希望将任何有价值的数据安全地存储在可以管理的数据库中,可以控制对它的访问,可以轻松备份等等。
关于问题2,您可以do the same thing in Microsoft Office。您可以链接文档,以便数据保留在源excel文档中但显示在单词doc中,或者您可以将excel电子表格嵌入word doc中。
您可能希望查看Microsoft Access以存储数据和生成报告。或者,您可以使用关系数据库后端和报告前端来构建应用程序。可能性是敞开的。这实际上取决于公司内部的专业知识。
如果是我,我可能会使用SQL Express后端(它是免费的)和用于生成报告的自定义ASP.NET MVC应用程序,但这正是我的专业知识所在。