【发布时间】:2017-05-14 15:53:09
【问题描述】:
这将更像是一个意见问题,因为我无法在 Google 或我公司内任何对此有意见的 SME 上找到任何答案。
我不确定意见问题是否合适,所以如果不合适,请随时删除此问题、禁止我或任何规则可能规定的问题。
我正在处理大量用于数学计算的非常旧的工作簿,这些工作簿不用于生产,它们用于检查生产服务的结果。工作簿非常古老(大约 12 年以上),现在我称之为过去十年的修补/修复中的“一团糟”。
我一直在研究 Handsontable (https://handsontable.com/) 一个 JS 库,它提供了一个像 Excel 这样的电子表格界面,可以处理单元格值的所有设置等......然后使用 Python(或者 Java,如果公司更喜欢使用 J2EE)在服务器端或客户端进行一些繁重的计算(数据查找和预测),我觉得从 VBA 和 Excel 本身迁移将提供 Operations 所喜欢的性能提升。
我觉得最初的工作会花费很多时间,但我相信我可以在 JS/Python/Java 中创建一组通用的库,一旦完成,就可以减少大量需要的重新编码要在 VBA 到 JS/Python 端完成,因为 80% 的 VBA 是常见的财务公式。
我担心的是,如果我们在另外 2-3 年内继续使用当前的工作簿,它们将变得完全无法维护,这主要是因为使用 VBA 我们没有适当的版本控制或使用现代自动化代码审查工具,我们可以通过使用更新的技术从中受益,而且长期以来,努力工作将被证明是我们现在的开发人员和我未来的同事的最佳选择。
如果规则和版主都同意这个问题,有人对此有什么意见吗?这值得吗?是不是很浪费时间?
注意:我不是经理、主管或任何有权做出上述决定的人,我只是一个觉得我......我们可以做得更好的开发人员。
感谢您的宝贵时间。
【问题讨论】:
-
CSV 用于数据存储是恕我直言的方式。任何程序都可以使用,与excel高度兼容
-
这对于 SO 来说可能不是一个合适的问题,(猜猜它属于像程序员之类的人)但它仍然是一个好问题。我们做了完全相同的练习。从 VBA 中提取所有与数据库相关的代码并将其移动到我们可以使用 ajax 调用的服务 API 中。 excel 本身被制作成我们应用程序中的一个模块。我们先编写了应用程序,然后才开始逐个转换每个报告。通过用一个快速的应用程序替换非常慢的 Excel 报告,我们已经为每人每天节省了近一个小时的管理工作。此外,高层管理人员喜欢移动友好的报告。
-
让我澄清一下,我们已经有一个生产/工作簿应用程序使用的数据库,所以它的数据与其说是 VBA、公式等...我只是想对工作簿进行现代化改造以防止大量的技术债务累积起来,因为我们会看到工作簿,就像“WTF 是这样的”?
-
在我个人看来,远离 excel 是最好的部分,但这主要是因为我们不需要报告中的任何 excel 功能。我们的 Ops 不需要在他们的报告中编写 Excel 公式,他们基本上只是使用 Excel 作为查看数据库并对生产数据进行一些预先格式化的计算的一种方式。通过优化的 SQL、快速的后端和轻量级的应用程序库,我们现在可以提供准实时计算。如果您的 Ops 需要能够使用重要的 Excel 功能,Office 365 或 sharepoint 之类的可能会更好。
-
我对大约 150 名陆上/海上运维人员进行了调查,大多数人从不真正手动编辑单元格,除非他们为生产服务器提供“正确”参考的静态工作簿(例如正确的数量)所以它实际上只是一个静态布局,有几张定义了名称的工作表,然后在 VBA 中设置;有些是通过公式完成的,但是有 JS 库可以处理所有 Excel 公式,所以这不是问题。然后将工作簿转换为 XLSM 使工作表 CVS,因此我可以直接转换为 Handsontable 数组:) 困难的部分是 VBA。
标签: javascript python excel vba handsontable