我正在尋找解析Microsoft Excel文件並將數據更新/存儲到給定的SQL Server數據庫的最佳方法的建議。我使用ASP.NET MVC,所以我打算讓頁面/視圖採用Excel電子表格並使用該用戶給定的文件,我將需要使用C#解析列中的數據並根據與電子表格列匹配來更新數據庫它包含數據庫表的關鍵列。電子表格將始終採用相同的格式,因此我只需要處理格式。看起來這可能是一個很常見的事情,我只是在開始之前尋找解決這個問題的最佳方法。我在當前的應用程序中使用實體框架,但我不必使用它。從Excel文件中提取數據並存儲在SQL Server數據庫中
我發現這個解決方案,它似乎像它可能是一個不錯的選擇:
public IEnumerable<MyEntity> ReadEntitiesFromFile(IExcelDataReader reader, string filePath)
{
var myEntities = new List<MyEntity>();
var stream = File.Open(filePath, FileMode.Open, FileAccess.Read);
using (var reader = ExcelReaderFactory.CreateOpenXmlReader(stream))
{
while (reader.Read())
{
var myEntity = new MyEntity():
myEntity.MyProperty1 = reader.GetString(1);
myEntity.MyProperty2 = reader.GetInt32(2);
myEntites.Add(myEntity);
}
}
return myEntities;
}
這裏是一個什麼文件可能看起來像一個例子(時鐘#是關鍵)
因此,給定一個這種格式的文件,我想使用時鐘#將用戶與數據表記錄進行匹配,並用每個單元信息更新記錄。電子表格中的每個列在數據表中都有一個可關聯的列。所有的幫助非常感謝。
導入數據或導入數據後處理數據是問題嗎?你能解釋你的實際問題嗎? – 2014-10-28 23:41:10
對不起,問題實際上是導入數據。我可以得到excel文件並加載正常。我只需要知道如何運行電子表格中的每一行並使用c#更新數據。 – user3788671 2014-10-28 23:42:37
您是說您想要回寫剛剛導入的Excel文件,或更新剛剛導入的表中的數據? – 2014-10-29 01:02:08