C # код для чтения Excel (импорт HTML) - PullRequest
0 голосов
/ 09 октября 2011

Я пытаюсь прочитать файл Excel, который имеет тип HTML с кодом C #.Я получаю 'Unspecified error'.

Это моя строка подключения:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='HTML Import;  // c:\1.xls

Это мой код:

private string GetTableName(OleDbConnection conn)
{
   string tableName = null;
    try
    {
       conn.Open();

       var dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
       if (dt == null)
       {
          log.Error("Table schema is not available.");
          return tableName;
       }

       tableName = dt.Rows[0]["TABLE_NAME"].ToString();
    }
    catch (Exception e)
    {
       log.Warn(e);
       return null;
    }
    finally
    {
       conn.Close();
    }
    return tableName;
}

Я просмотрел всеИнтернет и Google, и никто не сталкивался с такой же проблемой.

Я хотел бы понять, что не так с моим кодом или что означает «Неуказанная ошибка»?!

Спасибо !!!

Ответы [ 2 ]

1 голос
/ 09 октября 2011

Попробуйте использовать

 Provider=Microsoft.ACE.OLEDB.12.0;

Редактировать:

Использовать эту строку подключения

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1\";"

HDR = Да означает, что заголовок рассматривается как строка данных, а неимена столбцов (меняйте их в зависимости от ваших потребностей)

IMEX = 1 указывает, что таблица содержит смешанные данные

0 голосов
/ 09 октября 2011

для Excel 2007 измените строку подключения на

Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0 Xml;HDR=YES';

ACE OLEDB 12.0 была выпущена в Office 2007. Можно использовать Microsoft.ACE.OLEDB.12.0 для подключения к более старому .xls (Excel 97-2003)рабочие тетради.

...