2

我必须将数据从 excel 导入 SQL 数据库。Excel 数据包含各种参数,如 P1、P1、P4、P5 等。我必须应用 if(P1 > 100 和 P1 < 200) 等业务规则,然后将记录插入数据库。同样,在某些情况下,字符串值也会被验证。我可以有任何包含 UI 的开源规则引擎来更改、添加、删除规则。我正在使用 C# 读取 excel 并插入记录

还有一件事是最好的方法:

  1. 先读取excel,将每条记录作为一个对象存储在集合中,然后遍历集合,对每个对象应用业务规则,然后在数据库中插入记录或者
  2. 从excel中读取一条记录应用业务规则,然后在数据库中插入记录。对整个 Excel 重复该过程。
4

1 回答 1

1

好吧,这不是一个开源解决方案,但由于没有建议答案,我会把它放在那里,以防你觉得它有帮助。我的公司编写了一个简单的确定性规则引擎,我们已经在几个类似的项目中使用过它。我们的Enigma 规则引擎基于 Windows 工作流,因此非常适合 .NET 环境,用于创建新规则的用户界面具有拖放式 WF 框架所带来的所有简单性。

要尝试回答您的第二个问题,我认为这取决于您的导入数据的大小。如果您的 excel 文件小于 100 兆字节左右,我会先将整个文件转换为对象集合。我认为您可能会通过将其作为批处理而不是单打来获得一些速度。

当然,如果它们是大文件或者你有内存不足的问题,你总是可以妥协你提出的两个建议:一次将 1000 条记录读入一个集合,重复直到导入完成。

于 2012-10-04T06:07:32.363 回答