我有一个OLEDB数据连接,我只想将A:O列导入到一个表中。
我可以导入所有的data...successfully,但不局限于那些列(A:O)
我正在填充连接属性屏幕。
提前谢谢..。
Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=FILEPATH;Mode=ReadWrite;Extended Properties="IMEX=1;HDR=NO;string sql=“”从‘SHEETNAME’$A:$O“中选择*;Jet OLEDB:System database=”;Jet OLEDB:RegistryPath=“;Jet OLEDB:Engine Type=35;Jet OLEDB:数据库锁定Mode=0;Jet OLEDB:全局部分批量OLEDB:全局大容量OLEDB:新数据库Password=”;Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:不要在Compact=False上复制Locale;Jet OLEDB:没有副本的紧凑型Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:支持复杂的Data=False;Jet OLEDB:旁路UserInfo Validation=False;Jet OLEDB:有限DB Caching=False;Jet OLEDB:旁路ChoiceField Validation=True
发布于 2016-11-11 21:42:12
在' SHEETNAME ' $ A:$O中,您不需要SHEETNAME和第二个$的单引号。如下所示使用它:
select * from [SHEETNAME$A:O]或
select * from [SHEETNAME$A1:O10000]我已经成功地使用了range的OleDB select语句,但是它没有在连接字符串中指定,而是在OleDB命令中指定,如下所示:
cmd = new OleDbCommand("SELECT * FROM [Template$A1:Q10000]", conn);或者在Server调用中:
SELECT ' + @columnList + '
FROM OPENROWSET(' +
'''Microsoft.ACE.OLEDB.12.0'', ' +
'''Excel 12.0;Database=' + @TemplateFilePath + ';HDR=YES;IMEX=1'', ' +
'''SELECT * FROM [Template$' + @TemplateColumnsRangeStart + ':' + @TemplateColumnsRangeEnd + ']'')例如,@TemplateColumnsRangeStart='A5‘和或TemplateColumnsRangeEnd='Z’。
如果这有帮助的话请告诉我。
PS。欢迎来到StackOverflow,请查看Tour,开始询问、回答、投票等。
https://stackoverflow.com/questions/40264242
复制相似问题