C# 筛选Excel数据:.Net vs SSIS

C# 筛选Excel数据:.Net vs SSIS,c#,.net,sql-server,ssis,etl,C#,.net,Sql Server,Ssis,Etl,我在excel文件中有大量数据,每个文件至少有20列。 我正在使用.net(c#),我的任务是导入符合条件的行以将数据插入SQL数据库,例如,我只需要插入当前年份(或所选年份)的行,而且我的列名是“Full Employee name”,我需要检查它是否存在于人力资源表中 另一个条件是检查SQL表中的列名是否相同。 我成功地用代码完成了它,但至少有200行代码可以完成所有可能的检查。我读过SSIS(集成服务,BI工具),它似乎可以帮助我完成任务 我的问题是怎么做?我正在使用这个新概念。如果您已经

我在excel文件中有大量数据,每个文件至少有20列。 我正在使用.net(c#),我的任务是导入符合条件的行以将数据插入SQL数据库,例如,我只需要插入当前年份(或所选年份)的行,而且我的列名是“Full Employee name”,我需要检查它是否存在于人力资源表中

另一个条件是检查SQL表中的列名是否相同。 我成功地用代码完成了它,但至少有200行代码可以完成所有可能的检查。我读过SSIS(集成服务,BI工具),它似乎可以帮助我完成任务


我的问题是怎么做?我正在使用这个新概念。

如果您已经有了一个可用的.net解决方案,并且200行代码对我来说听起来并不是那么糟糕,我就不会费心寻找SSI来替代它

我认为选择最佳方法是基于您的需要:

  • 如果您希望创建自动化作业并定期执行从excel到SQL的数据导入,我认为最好使用SSIS
  • 如果您试图创建一个将excel文件转换为SQL表的小工具,那么使用
    .NET
    就可以了
  • 如果要循环使用不同结构的Excel文件,则应使用
    .NET
您还可以参考以下Microsoft文档,了解将Excel文件导入SQL的更多选项:(SQL查询、链接服务器、OPENROWSET…)


通常将所有内容加载到数据库(暂存表)中,然后使用存储过程执行所有验证逻辑。您可以使用SSIS将excel加载到暂存表中,但也有许多其他工具。是的,这就是我正在做的,我的想法是不使用代码对其进行自定义,也许映射可以帮助解决我现在处理15列的问题,但我有一些excel文件包含20多列,另外,在将来,我需要能够自定义哪个列importedWell Excel在SSIS中使用起来非常棘手。我想你最好还是把它放在.net里。除非您想先将Excel文件导出到.csv,然后再使用SSIS导入。是的,比使用Excel好得多。