繁体   English   中英

在 java 中执行 excel 评估的最佳设计模式

[英]Best design pattern to perform excel valudation in java

用户正在应用程序中上传 excel 工作簿。 作为业务逻辑的一部分,我们需要执行数据验证(必填字段、数据类型、长度、枚举等)。 一张Excel表有100多列,需要对记录的所有列进行数据校验。 每列大约有 10 个验证。 前端是用 React 开发的,业务层是一个 java rest api。

存储验证规则的最佳方式在哪里?

选项 1:我们可以将验证规则存储在数据库中,然后在 java 中编写一些通用框架,它可以从数据库中读取规则并进行评估吗?

选项 2:我们能否将 excel 转换为 json,然后根据 json 模式对其进行验证?

还需要密切关注性能影响。

还有其他更好的选择吗?

您不应该在浏览器中验证它,因为浏览器执行可能会被黑客入侵。 但是你可以提供模板下载。 模板下载将是部分受保护的 excel 文件。 在这里您可以预定义一些规则(只读区域、基本验证、处理说明和限制)。

您应该主要在服务器中验证它(单一职责原则)。 验证它的最佳方法是在上传时。 如果当前上传的 excel 文件验证失败,则必须拒绝上传并显示有意义的消息。 未经验证的 Excel 文件永远不应存储在数据库中(因为这会违反数据完整性原则)。 注意:如果需要将未验证的 excel 文件存储为“草稿”以便稍后验证/完成它,则应创建与主数据库分离的第二个数据库来存储这些“草稿”信息。

在任何情况下,excel 文件都不应该作为二进制流成为主数据库的一部分! excel 文件的信息必须存储在主数据库中,而不是 excel 文件本身

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM