gpt4 book ai didi

sql-server - 如何将多个 Excel 列导入单个 SQL Server 列?

转载 作者:行者123 更新时间:2023-12-04 21:07:19 26 4
gpt4 key购买 nike

我们将来自不同来源的大量数据文件(主要是 Excel,有时是 CSV)导入 SQL Server 数据库。数据文件有一些公共(public)字段(姓名、地址等),通常还有其他字段——一些我们需要/使用,一些我们不需要。

如何导入文件中的所有数据 - 将常用/必填字段插入相关列,同时将其他剩余列合并到单个列(文本或 varchar(max))?这可能吗?我不介意 Excel/SQL Server 的版本。

所以我可能会收到一个源文件,例如

FirstName, LastName, AddressLine1, City, ColumnE, ColumnF, DateColumn, ColumnH

这在 SQL Server 中存储为
FirstName nvarchar(25)
LastName nvarchar(25)
AddressLine1 nvarchar(50)
City nvarchar(30)
OtherData nvarchar(max)

当然,OtherData 列需要包含一些分隔符来识别导入的 Excel 列。

我们只需要使用“通用”列,但是当我们导出数据(通常只是原始行的子集)时,我们可以更轻松地包含 OtherData,而不是为每个不同的数据文件创建自定义表或与 Excel 合并.

编辑:我可以通过在数据文件中添加许多额外的列作为自定义分隔符来实现这一点,然后使用 BULK INSERT,但这非常耗时。

最佳答案

作为一个粗略的想法,如果您知道 excel 中的选项卡名称,则可以使用 C# 和 OLE DB/JET 12 驱动程序将数据读入数据集(基本上是 SELECT * FROM [tabname])。 CSV 可以更简单地加载。那时,只需将其打入数据库即可。

如果您对这种方法感兴趣,我今晚可能会刮出一些伪代码。

关于sql-server - 如何将多个 Excel 列导入单个 SQL Server 列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7506339/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com