Excel加载项数据验证



我正在努力说服自己哪个想法更好。任何建议都会有帮助。故事如下:

我有一张excel表格,里面满是项目,每一行代表一个项目。我需要验证数据以检查其有效性。一个项目是有效的,当且仅当该项目的每个数据元素也是有效的。也有人在做一个项目。可能有很多人在同一个项目上工作(假设一个人只能在一个项目中工作)。因此,对于每个人,我需要验证它是一组字段,并确保它引用的项目确实存在。验证完所有内容后,我将把项目和人员推送到数据库中。

另一件需要考虑的事情是,可能有成千上万的项目。凭借这种美德,也可以有成千上万的人。

我心中有两种验证技术:

  1. 使项目和人员对象负责自己的数据验证。这意味着我必须在验证时创建对象,然后在它们全部验证后推送它们。我认为把这么多对象存储在内存中进行验证,然后再推送是不可行的
  2. 使用单独的函数来验证数据。该函数只会查看数据,确定其类型,并确保它符合约束条件——无论它是属于个人还是项目。这避免了创建项目和人员对象,但也意味着我必须再次传递数据来创建这些对象。这也意味着,如果我向项目添加另一个字段,我必须向验证器函数添加另一块相应的字段

绝对数1。创建几千个对象就可以了。你可能有太多的内存要处理,这相当多:)只要把你的对象保持得尽可能小,一切都会好起来的

如果是我,我甚至不会把它作为VSTO excel插件来写——我会写一个单独的ASP.NET网页,他们可以在那里上传他们的excel文件。从那里,您可以解析它,验证它,并将它插入数据库。只需吐出一条"由于缺少Y,在单元格X上失败"的消息。如果你把它写成一个插件,那么你需要有人把它安装在所有用户的机器上,任何错误修复都需要推出和更新,这将是一个PITA。如果你真的需要做一些巧妙的excel交互,我只会走VSTO的路线。

最新更新