gpt4 book ai didi

sql - ADO - 如何从 xls 文件中选择两个或多个列具有相同名称的列?

转载 作者:行者123 更新时间:2023-12-02 10:49:31 24 4
gpt4 key购买 nike

我有一个像这样的Excel文件:

|   |    A   |    B    |    C    |   D    |
| 1 | Name 1 | Name 2 | Name 3 | Name 2 |
| 2 | Data | Data | Data | Data |
| 3 | Data | Data | Data | Data |

如您所见,两列的标题具有相同的名称 - 名称 2

我的问题是,是否可以告诉ADO引擎从哪一列选择数据?

目前我的选择如下所示:

SELECT [Name 1], [Name 2] FROM [REPORT7_RAW$] WHERE [Name 1] IS NOT NULL

并且 ADO 从 Excel 中 B 列下列出的列中获取数据。换句话说,它采用具有给定名称的第一列。不幸的是,我有两列同名,我想从 D 列中提取数据。是否可以?

我找不到任何方法通过索引而不是名称来选择列。

最佳答案

您需要更改连接字符串,以便不使用数据 header 名称。正常的连接字符串看起来像这样:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx;
Extended Properties="Excel 12.0 Xml;HDR=YES";

您需要将最后一位 HDR=YES 更改为 HDR=NO

使用这种类型的连接,列(字段)将变为 F1F2 等,其中 F1 = A 列, F2 = B 列等

这并不理想,因为您现在基本上是根据列号而不是名称来运行查询,但对于重复的列名,这是解决该问题的唯一方法。

根据 @barrowc 的评论:这种格式的连接字符串会将您的列名称视为数据。因此,根据您的查询,您可能需要包含代码来过滤掉包含列名称的行。

关于sql - ADO - 如何从 xls 文件中选择两个或多个列具有相同名称的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18360306/

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