这种场景下是开发 Excel 扩展还是自建系统呢?

查看 36|回复 1
作者:YuanJiwei   
这种场景下是开发 Excel 扩展还是自建系统呢?
场景:
现在一个小工厂企业主(生产化工材料),目前使用 Excel 存储生产配料以及工序数据。Excel 中包含业务数据和业务算法(基于 Excel) 计算公式实现。现在有一个需求,他希望提供一个查询界面输入某种生产产品,型号,一系列调节参数,然后输出生产该产品的原材料,以及生产机器参数设置, 他目前基于 Excel 已经实现上述功能逻辑。他希望员工也能使用上述功能,但不想让直接把 Excel 给员工,因为这样员工能看到所有的生产业务数据和生产逻辑(有些生产配料配比以机器参数设置是大量实验得出的,希望能保护这些数据和计算逻辑)
1. 方案设计 1 (扩展 Excel 功能):
开发一款客户端软件(基于 Electron),读取 excel 文件,实现前端界面,基于客户自定义查询方案,动态渲染输入项,用户填入输出项后, 软件读取并修改 Excel 中的数据(自定义查询方案输入项中包含 Excel 单元格位置),然后利用 powershell 调用操作系统打开 Excel 并保存,这样 Excel 中的公式会重新计算执行。然后软件读取查询 Excel (自定义查询方案输出项中包含单元格查询位置)然后在界面显示查询结果。这个方案是利用 Excel 存储数据并作为算法(Excel 公式)运行环境。这个方案的风险点在于需要用用外界库(如 excel.js) 打开并保存 excel, 并且利用 powershell 打开 Excel 软件并且执行,程序如何判定 Excel 的公式重新计算完成,然后读取重新计算后的结果项。会不会造成数据冲突,或者其他风险,这种方案设计的软件会不会容易出故障。
附注:初步构想的客户自定义查询方案,数据结构示例
{
        "input": [ // 输入
                        {"输入项 1", "Table1 ,Sheet1, CellA10"},
                        {"输入项 2", "Table1 ,Sheet2, CellC1"},
                        {"输入项 3", "Table2 ,Shee2, CellB10"}
                ],
        "output": [ // 输出
                        {"输出项 1", "Table1 ,Sheet1, CellA1"},
                        {"输出项 2", "Table1 ,Sheet1, CellB1"},
                        {"输出项 3", "Table2 ,Shee2, CellB3"}
                ]
}
2. 方案设计 2
劝导客户把数据和算法分离,利用 Excel 或数据库保存业务数据(数据库表设计),基于编程语言如( JavaScript) 实现 Excel 中的计算逻辑(编程)。然后进一步实现他的查询需求。
讨论建议
基于上述,对于方案 1 的实现逻辑,大家有什么评价建议吗? 大家在职业生涯中遇到过类似的需求和设计吗?如果基于该方案开发软件,软件如果给客户报价的话,大概可以报价多少呢?
我个人倾向这种方案 2 ,因为有很好的可扩展型。后续客户想把更多生产流程逻辑纳入这套生产管理系统。但由于客户对编程不同熟悉,对于重新实现 Excel 计算逻辑觉得需要更高成本,所以更倾向方案 1 ,我应该劝导用户吗?如何劝导呢?
或者对于这个场景,大家有什么技术和非技术的实现建议呢?希望大家给我一些建议。什么评论和建议都可以。如果有现成和比较成熟的方案,我可以付费咨询。
谢谢大家了。

EXCEL, 方案, 查询, table1

fzls   
不想让用户看到数据,只能把这部分放到服务器上吧-。-
您需要登录后才可以回帖 登录 | 立即注册

返回顶部