2012-10-03 508 views
2

我必須將數據從excel導入到SQL數據庫。 Excel數據包含各種參數,如P1,P1,P4,P5等。我必須應用業務規則如果(P1> 100和P1 < 200)然後將記錄插入數據庫。同樣在某些情況下,字符串值也會被驗證。我可以使用任何包含UI來更改,添加,刪除規則的開源規則引擎。正在使用C#讀取Excel和並插入記錄規則引擎.net

一兩件事,這是最好的辦法:

  1. 讀取Excel第一,每個記錄存儲爲對象的集合,然後通過收集迭代,在每個對象上應用業務規則,然後在數據庫中插入記錄 或
  2. 從excel中讀取一條記錄應用業務規則,然後在數據庫中插入記錄。重複整個excel的過程。

回答

1

嗯,它不是一個開源的解決方案,但由於沒有建議的答案,我會把它放在那裏,以防萬一你覺得它有幫助。我的公司編寫了一個簡單的確定性規則引擎,我們已經在幾個類似的項目中使用。我們的Enigma RulesEngine基於Windows Workflow,因此對於.NET環境非常有用,用於創建新規則的用戶界面具有拖放式WF框架所帶來的簡單性。

要嘗試爲您的第二個問題提供答案,我認爲這取決於導入數據的大小。如果你的excel文件少於100兆字節左右,我會把整個東西轉換成一個對象集合。我認爲你可以通過批量處理而不是單打來獲得一些速度。

當然,如果它們是大文件或內存不足的問題,您可能總會妥協兩個建議:一次讀取1000條記錄到一個集合中,重複直到導入完成。