我正在使用OleBb对象将excel文件读入数据表
System.Data.OleDb.OleDbConnection myCon = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;data source='" + FileName + "';Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1\" ");
System.Data.OleDb.OleDbDataAdapter cImport = new system.Data.OleDb.OleDbDataAdapter("select * from [ Gravity$A3:ZZ]", myCon );
cImport.Fill(dt)
执行上述查询显示错误:
名称'Gravity $ A3:ZZ'无法包围。
我认为这个错误是由于工作表名称“Gravity”开始时有一个空格。
如果我在查询中删除此空格&写一下“select * from [Gravity $ A3:ZZ]”,然后显示无效的对象名称。
如何仅使用OleDb对象处理此问题?
答案 0 :(得分:0)
尝试将名称放在引号
之间System.Data.OleDb.OleDbDataAdapter cImport = new system.Data.OleDb.OleDbDataAdapter("select * from [\" Gravity$A3:ZZ\"]", myCon );
第二:正如@PanagiotisKanavos所说
Α3:ZZ似乎不是有效范围
答案 1 :(得分:0)
甚至尝试
select * from [' Gravity$A3:ZZ']