c#
  • oledb
  • oledbdataadapter
  • 2014-11-27 1 views 1 likes 
    1

    Я использую объекты OleBb для чтения файла Excel в таблицу данныхИсходное пространство в вопросе с именем листа при импорте листа через OleDb объектов

    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) 
    

    Исполнительной выше запрос показывает ошибки:

    Invalid брекетинг имени 'Гравитация $ A3: ZZ'.

    Я думаю, что эта ошибка возникает из-за одного пробела при запуске названия листа «Gravity».

    Если я удалю это пространство в запросе &, то напишите как «выберите * из [Gravity $ A3: ZZ]», затем отобразите недопустимое имя объекта.

    Как справиться с этой проблемой только с использованием объектов OleDb?

    +0

    ' Α3: ZZ' не похоже на допустимый диапазон. Может ли быть, что лист не содержит ведущее пространство, а фактическая ошибка заключается в том, что имя объекта (диапазон) действительно недействительно? –

    ответ

    0

    попытка поставить имя в кавычки

    System.Data.OleDb.OleDbDataAdapter cImport = new system.Data.OleDb.OleDbDataAdapter("select * from [\" Gravity$A3:ZZ\"]", myCon); 
    

    Во-вторых, как @PanagiotisKanavos говорит

    Α3: ZZ не кажется, как допустимый диапазон

    0

    Или даже попробовать

    select * from [' Gravity$A3:ZZ'] 
    

     Смежные вопросы

    • Нет связанных вопросов^_^