我正在使用c#开始一个使用asp.net visual studio 2008 / sql 2000(2005)的项目.
对我来说,棘手的部分是现有的数据库模式经常更改,导入文件列都必须与现有的数据库模式进行匹配,因为它们可能不是列对应的一对一匹配. (有一个查找表,提供表模式,我将使用列名)
我正在探索不同的方法来处理这个问题,需要一些专家的意见.是否有任何现有的控制或框架,我可以用来做任何这些?
到目前为止,我探讨了FileUpload .NET控件,以及一些第三方上传控件来完成上传,例如SlickUpload,但是上传的文件应该是< 500MB 下一部分是读取我的csv / excel并解析它以显示给用户,以便它们可以与我们的数据库模式匹配.我看到CSVReader和其他人,但为了excel它更困难,因为我将需要支持不同的版本.
基本上执行此导入的用户将从此导入文件插入和/或更新多个表.还有其他更先进的要求,如记录匹配,但是导入记录的预览,但我希望了解如何做到这一点.
解决方法
查看优秀的FileHelpers库 – 有一个
article on CodeProject关于它,它的主持
here.
它是纯C#,它可以导入任何平面文件,CSV,它也处理Excel.导入是完全可配置的 – 您可以定义要跳过的分隔符,行和/或列等等 – 很多选项.
我已经成功地在各种项目中使用它,它的工作非常完美 – 强烈推荐.