从Excel工作簿/VBA技术升级

2024-06-02 10:32:19 发布

您现在位置:Python中文网/ 问答频道 /正文

这将更像是一个意见问题,因为我在谷歌或我公司内的任何中小企业都找不到真正对此有意见的答案。

我不确定某个意见问题是否合适,因此,如果不合适,请随意删除,禁止我或其他任何规则。

我正在研究一套非常旧的用于数学计算的工作簿,它们不用于生产,它们是用来检查生产服务结果的。这些工作手册已经很旧了(大约12年多),现在已经是过去十年修补/修复的“烂摊子”。在

我一直在研究Handsontable(https://handsontable.com/)一个JS库,它提供了一个类似Excel的电子表格界面,可以处理所有单元格值的设置等。。。然后使用Python(如果公司更喜欢使用J2EE,也可以使用Java)在服务器端或客户端进行一些更大的计算(数据查找和预测),我觉得只要从VBA和Excel本身转移就可以提高性能,而这正是操作所喜欢的。在

我觉得最初的工作要花很多时间,但我相信我可以用JS/Python/Java创建一组通用的库,一旦完成,就可以减少在VBA到JS/Python端进行的大量重新编码,因为VBA的80%是通用的财务公式。在

我担心的是,如果我们在2-3年内继续使用当前的工作手册,它们将变得完全不可维护,更重要的是,在VBA中,我们没有适当的版本控制,也没有使用现代自动代码审查工具,我们可以通过使用更新的技术和长期错误的意愿从中获益,对于我们的开发者和我未来的同事来说,努力工作是最好的选择。在

如果这个问题在规则和主持人看来是可以的,有人对此有什么看法吗?这值得吗?是在浪费时间吗?在

注:我不是一个经理,导演或任何人有权作出上述决定,我只是一个开发人员,觉得我。。。。我们可以做得更好。在

谢谢你抽出时间。在


Tags: 答案https规则时间js公司javavba
1条回答
网友
1楼 · 发布于 2024-06-02 10:32:19

所以这可能不是所有人的答案,但是我要告诉你我们决定首先投入时间的是什么,因为这个方法已经被用于另一个应用程序,将它从一种旧的语言迁移到Java。在

我们在网上找到了几个用于将VB/VBA代码转换为Python的开源项目。在

示例:

一旦Python代码使用本机包来允许MS-Interop访问,我们将开始将Python代码重构为Django项目(这个选择并不确定,但它是我的首选;<;3django),包括为数据库访问创建包装模型。我们觉得我们可以为msinterop部分制作一个包装器,让它作为Django项目运行。在

最终的计划是让Django项目充当restweb服务,对Python执行“繁重的数学/计算”功能,也可以在一个更强大的服务器上提高性能。这个REST服务将用处理所有当前Excel公式所需的插件来回答来自Handsontable(https://handsontable.com/)JS电子表格的调用,这样我们就可以将单元格值/样式(将工作簿转换为xlsm使所有数据存储为XML)直接1:1复制到一个可手持的“layout array”;我想我们将把它放入一个DB中。因此,最终我们给出了15年以上的工作手册,并将Excel从等式中删除。在

使用Django的当前(我的)原因是:

  1. ORM公司
  2. 独立的Django包使减少冗余代码变得更容易(我知道这可以用纯Python实现,但我觉得这是一个很好的理由来为其他人提供我的答案)
  3. 使用几个非常流行的REST包很容易实现Web服务。在
  4. 还有其他人,但我相信每个人都能理解我的观点。在

Python及其原因:

  1. 运行在Linux上,运行VBA宏服务器端需要Windows(坏:与Linux相比,VM成本低,操作系统开销小)。在
  2. 很容易学(反正我觉得)
  3. 自定义方法装饰器将使诸如标准利率之类的东西应用于方法的返回量,而不需要计算金额的实际函数中的利率代码(例如)

谢谢

相关问题 更多 >