2015-12-16 1 views
1

Я пытаюсь получить имена листов excel, с олед.ОШИБКА: Убедитесь, что он не содержит недопустимых символов или знаков препинания, и что он не слишком длинный

Моя строка соединения:

string ConnString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;"; 

где путь_к_файлу это имя файла.

Мой код для этого:

OleDbCommand cmd = new OleDbCommand(@"SELECT * FROM [Employee$]", conn); 
       OleDbDataAdapter adapter = new OleDbDataAdapter(cmd); 
       adapter.Fill(Data); 

Получить ошибку в этой строке

adapter.Fill(Data);

Ошибка

'System.Data.OleDb.OleDbException' occurred in System.Data.dll
Additional information: 'Employee$' is not a valid name. Make sure that it does not include invalid characters or punctuation and that it is not too long.

Как ча Это будет сделано?

+0

Ваш рабочий лист Excel с именем 'Employee'? – Abhitalks

+0

yes Имя рабочего листа Excel - Employee –

+0

Первое правильное имя введенного имени таблицы или нет. – RajeeshMenoth

ответ

3

Попробуйте это:

OleDbCommand cmd = new OleDbCommand(@"SELECT * FROM [dataGridView1_Data$]", conn); 
OleDbDataAdapter adapter = new OleDbDataAdapter(cmd); 
      adapter.Fill(Data); 
+1

спасибо, что это работает .... –

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

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