当前位置: 首页 > 面试题库 >

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

邵兴文
2023-03-14
问题内容

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

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

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

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

目前,我的选择如下所示:

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

ADO从Bexcel中的列下列出的列中提取数据。换句话说,它采用具有给定名称的第一列。不幸的是,我有两个具有相同名称的列,我想从column中提取数据D。是否有可能?

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


问题答案:

您将需要更改连接字符串,以便不使用数据头名称。普通的连接字符串如下所示:

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

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

与该类型的连接,所述列(字段),则成为F1F2等,其中F1=列A,F2=列B等

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

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



 类似资料:
  • 问题内容: 如果类路径中有两个JAR文件,两个文件的根中都包含一个名为“ config.properties”的资源。有没有办法检索类似于的 两个 文件?顺序不相关。 一种替代方法是,如果可能的话,在类路径中加载与某些条件匹配的每个属性文件。 问题答案: 您需要 (或静态版本)。 但是不幸的是,资源不在“目录”中存在一个已知问题。例如,可以,但是可能是一个问题。在Spring Reference中

  • 问题内容: 我在通过JPA使用sql本机查询选择某些数据时遇到了一些麻烦。那是因为我有3个名称相同的列“ descricao”。 当我通过 EntityManager 接口的 createNativeQuery 方法执行select操作时,找到的第一列值将覆盖其他值。 (例如,当我在一个对象数组中得到此结果时,给定记录的第一列描述的值为“ foo”,第二个“ bar”和第三个“ foobar”(因

  • 问题内容: 我正在尝试使用RSA 7.5和Websphere 7服务器开发IBM JAX_WS Web服务。因为我是一个初学者,所以我遵循Java类优先方法,即首先创建Java类,然后生成WSDL文件。 当我尝试创建wsdl文件时,出现异常: java.security.PrivilegedActionException:com.sun.xml.internal.bind.v2.runtime.I

  • 问题内容: 我正在用C#编写.NET Framework 3.5。 我正在尝试将某些Json解析为JObject。 Json如下: 当我尝试将此Json解析为JObject时,JObject仅了解LargeBox。SmallBox和MedBox的信息丢失。显然,这是因为它将“ TBox”解释为一个属性,并且该属性已被覆盖。 我从Delphi编码的服务中收到此Json。我正在尝试为该服务创建C#代理

  • 问题内容: 我有一个PHP应用程序,有时需要处理URL,其中URL中的多个参数具有相同的名称。是否有一种简单的方法来检索给定键的所有值?PHP $ _GET仅返回最后一个值。 具体来说,我的应用程序是一个OpenURL解析器,可能会获得如下URL参数: (是的,我知道这很丑陋,欢迎来到我的世界)。请注意,键“ rft_id”出现两次: 将返回just ,先前的值()已被覆盖。 我想同时访问这两个值

  • 问题内容: 我已经成功开发了一项服务,可以读取在Jersey中以多部分形式上传的文件。这是我一直在做的极其简化的版本: 这个工作很好,但是给了我一个新的要求。除了要上传的文件之外,我还必须处理任意数量的资源。让我们假设这些是图像文件。 我想我只是为客户提供一个表单,其中包含一个文件输入,一个输入用于第一个图像以及一个按钮,以允许向该表单添加更多输入(使用AJAX或简单的纯JavaScript)。