我正在寻找解析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