我需要将Excel表格中的数据移动到数据库。为此,我创建了ADODB连接,并能够执行以下SQL查询:
INSERT INTO myTable SELECT * FROM [Excel 12.0 Macro;HDR=Yes;Database=C:\MyPath\MyFile.xlsb].[Shee1$A1:C100]
我的问题是范围不能指向超过255列,即列IU。我想尝试使用命名范围,但我找不到合适的符号表示法。我找到的所有示例都直接连接到工作簿,使用SELECT * FROM [Sheet1$]
引用或SELECT * FROM myRange
作为命名范围的示例。我尝试了一些类似于...[Excel 12.0 Macro;HDR=Yes;Database=C:\MyPath\MyFile.xlsb].[myRange]
[Excel 12.0 Macro;HDR=Yes;Database=C:\MyPath\MyFile.xlsb].[myRange$]
[Excel 12.0 Macro;HDR=Yes;Database=C:\MyPath\MyFile.xlsb].myRange
[Excel 12.0 Macro;HDR=Yes;Database=C:\MyPath\MyFile.xlsb;Name=myRange]
我尝试使用命名区域,但是没有成功。在这里使用命名区域的正确方法是什么?使用命名区域是否有助于解决列数限制问题?
我原本期望 [Excel 12.0 Macro;HDR=Yes;Database=C:\MyPath\MyFile.xlsb].[myRange]
可以奏效,但是它却抛出了以下错误:“Microsoft Access 数据库引擎找不到对象 'myRange'。确保对象存在 (...)”
我可以通过将数据从源工作表复制到临时工作表中,并将其在 255 列限制内处理,但是用正确的方法解决问题会更好。