gpt4 book ai didi

使用非连续范围从 Excel 导入 SQL?

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

我有一些 Excel 电子表格我无法更改,因为它们被另一个部门使用,并且他们将来不会更改它们。它们是具有 500 多列 (A:TH) 的 .xlsm。我正在尝试将它们导入 64 位机器上的 SQL Server 2008,但我遇到了很大的问题。所有形式的 Excel 导入似乎都会将我选择的列截断为前 255 列。

最终将有 5 个单独的表来使用 1 个公共(public)键存储这些数据。我可以编写一个简短的 VBA 脚本来将 Excel 中的数据排序到源表的排列列中,但我想先询问以下是否可能......

这工作正常并选择列 A:IV

SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;Database=C:\NEW.xlsm',
'SELECT * FROM [Details Sheet$A:IV]')

有没有一种聪明的方法可以在不连续的范围内做类似的事情,例如
SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;Database=C:\NEW.xlsm',
'SELECT * FROM [Details Sheet$C:C,IW:LZ]')

IE。拿起 C 列和附加列 IW:LZ 中的键?我的问题是使用全范围 C:LZ 和 SELECT [ID],[THIS],[THAT] FROM etc 不适用于范围内超过 255 列的字段,非常烦人!

最佳答案

您是否尝试过使用 SSIS 导入 Excel 文件?它对数据类型可能非常挑剔,但我从未遇到过无法使用脚本组件解决的限制。

它被设计成一个高性能的 ETL 工具,适用于您想要完成的工作。如果您是新手,请查看 importing the entirety of Wikipedia as XML 上的这篇文章成多个表。

需要注意的是,您可能需要安装额外的 Office 驱动程序才能读取 Excel 2007 格式,尤其是在 64 位计算机上。

关于使用非连续范围从 Excel 导入 SQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5607369/

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