导入某些Excel列中的数据以供VBA访问?

导入某些Excel列中的数据以供VBA访问?,excel,ms-access,vba,Excel,Ms Access,Vba,我正在使用Access,需要从Excel导入数据 表中的列太多。我现在要做的是找到我需要的每个单元格,合并它们,然后插入Access Set file=GetObject(path)'get excel文件 intArrNeedCols=数组(3,4,10,11,12,13,14,15,16,17,18,19,22,23,26)'我需要的列 对于file.Sheets(1).UsedRange.Rows.Count'循环并收集目标列中每个单元格的值的行=2,第一行是title strSQL=“插

我正在使用Access,需要从Excel导入数据

表中的列太多。我现在要做的是找到我需要的每个单元格,合并它们,然后插入Access

Set file=GetObject(path)'get excel文件
intArrNeedCols=数组(3,4,10,11,12,13,14,15,16,17,18,19,22,23,26)'我需要的列
对于file.Sheets(1).UsedRange.Rows.Count'循环并收集目标列中每个单元格的值的行=2,第一行是title
strSQL=“插入订单列表值(”
对于intArrNeedCols中的每个列
strSQL=strSQL&“'”和file.sheets(1).cells(行、列)&“,”
下一个
“……其他语句,如excute sql语句
下一个

这很复杂,很难维护。有更简单的方法吗?

考虑在MS Access append query中直接从Excel进行查询,MS Access append query也可用于DAO/ADO连接。像
DoCmd.TransferSpreadsheet
这样的I/O方法不允许在电子表格中选择特定列,除非您创建一个特殊的Excel选项卡或临时Access桌子

在下面的查询中,相应地调整命名列以及文件/工作表名称引用。用方括号或反勾转义所有保留字、空格和特殊字符

插入到订单列表中
选择t.[Col1]、t.[Col2]、t.[Col3]。。。
从[Excel 12.0 Xml;HDR=Yes;Database=C:\Path\To\Excel\File.xlsx]。[SHEETNAME$]t;

考虑在MS Access附加查询中直接从Excel进行查询,该查询也可在DAO/ADO连接中使用。
DoCmd.TransferSpreadsheet等I/O方法不允许在电子表格中选择特定列,除非创建特殊的Excel选项卡或临时Access表

在下面的查询中,相应地调整命名列以及文件/工作表名称引用。用方括号或反勾转义所有保留字、空格和特殊字符

插入到订单列表中
选择t.[Col1]、t.[Col2]、t.[Col3]。。。
从[Excel 12.0 Xml;HDR=Yes;Database=C:\Path\To\Excel\File.xlsx]。[SHEETNAME$]t;

你可以链接Excel工作表,也可以使用ADO。看一下TransfersPadsheet。谢谢,我会看一下。你可以链接Excel工作表,也可以使用ADO。看一下TransfersPadsheet。谢谢,我会看一下。我很好奇,为什么要用SQL Server回答MS Access的问题?他们有一些不常见的东西。事实上,现在我有了一个新问题,我想知道st按照你说的做了,它可以工作,但是发现空单元格也将被导入,我如何解决这个问题。而且,我的表有一个名为“Shipping Date”的列,我不能那样写:t.发货日期Please@Guoliangcai为什么不看看MS Access做我提到的事情的方式。我很好奇,为什么SQL Server会回答MS Access的问题?他们有一些不常见的问题。事实上,现在我有一个新问题,我只是按照你说的做了,但发现空单元格也会被导入,我该怎么做解决这个问题。而且,我的表有一个名为“Shipping Date”的列,我不能这样写:t.Shipping DatePlease@Guoliangcai为什么不看看MS Access做我提到的事情的方式呢。