C# 正在导入Excel文件,但列数不断更改

C# 正在导入Excel文件,但列数不断更改,c#,sql,sql-server,excel,C#,Sql,Sql Server,Excel,我的客户每月给我发送一个文件,我通过C#导入SQL。列的数量根据他的要求而变化。这些列基本上是他收到钱的账号,所以如果他在任何账户中没有收到钱,他会删除这些列 所以我试着用转置的方式输入数据库,比如 Excel文件 名称PAN Acc1 Acc2 Acc3 Acc4 我用SQL导入 第1行-名称PAN Acc1金额 第2行-名称PAN Acc2金额 第3行-名称PAN Acc3金额 但是,当我执行一个sql查询长达数月甚至全部时间时,这需要花费太多的时间。请提供任何帮助我过去在处理变量列时发现,

我的客户每月给我发送一个文件,我通过C#导入SQL。列的数量根据他的要求而变化。这些列基本上是他收到钱的账号,所以如果他在任何账户中没有收到钱,他会删除这些列

所以我试着用转置的方式输入数据库,比如

Excel文件 名称PAN Acc1 Acc2 Acc3 Acc4

我用SQL导入 第1行-名称PAN Acc1金额 第2行-名称PAN Acc2金额 第3行-名称PAN Acc3金额


但是,当我执行一个sql查询长达数月甚至全部时间时,这需要花费太多的时间。请提供任何帮助

我过去在处理变量列时发现,出于多种原因,您可能会遇到一些麻烦。例如,您不能在每次新帐户出现时将一列附加到表中,因此您必须使用行条目而不是列条目等。您在连接数据等方面会遇到其他问题

我在过去使用过一种很好的方法,不管怎样,使用SQL Server,就是在SQL Server数据库中将数据作为XML类型使用,并创建使用交叉应用处理数据连接的存储过程。还可以对数据使用XML模式验证

所以,也许这是你的一个选择


希望这会有所帮助。

如果您不处理任何其他逻辑,而只是“将数据导入SQL表”,那么使用
C
可能不是最有效的解决方案,因为它添加了一个不必要的额外层。就我个人而言,我更喜欢
BCP
,因为它是一个内置命令,您可以安排SQL作业每月运行一次
Powershell
虽然非常好,但您需要安装它,这非常简单和轻量级。最后,SSI也可以工作,但您需要有Microsoft SQL Server-开发者版和企业版。如果您愿意,我可以帮助您使用
BCP
Powershell

您执行的SQL查询是什么?也许我们可以提高效率。您是通过SSIS包来实现这一点的吗?