【发布时间】:2014-10-28 23:33:54
【问题描述】:
我正在寻找有关解析 Microsoft Excel 文件并将数据更新/存储到给定 SQL Server 数据库中的最佳方法的建议。我使用 ASP.NET MVC,因此我计划在 Excel 电子表格中使用页面/视图并使用该用户给定的文件,我将需要使用 C# 来解析列中的数据并根据与电子表格列的匹配来更新数据库包含数据库表的键列。电子表格将始终采用相同的格式,因此我只需要处理格式。这似乎是一件很常见的事情,我只是在开始之前寻找解决这个问题的最佳方法。我在当前的应用程序中使用实体框架,但我不必使用它。
我发现这个解决方案似乎是一个不错的选择:
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;
}
这是一个文件可能是什么样子的示例(时钟# 是关键)
因此,给定一个这种格式的文件,我想使用时钟 # 将用户与数据表记录匹配,并使用每个单元格信息更新记录。电子表格中的每一列在数据表中都有一个相关的列。非常感谢所有帮助。
【问题讨论】:
-
问题是导入该数据还是导入后处理数据?你能解释一下你的实际问题吗?
-
对不起,问题实际上是导入数据。我可以得到excel文件并加载得很好。我只需要知道如何遍历电子表格中的每一行并使用 c# 更新数据
-
你是说要写回刚刚导入的Excel文件,还是更新刚刚导入的表中的数据?
标签: c# asp.net sql-server excel