2015-02-13 3 views
1

Я пытаюсь использовать Excel в моей базе данных в asp.net и я использовал следующий кодOLEDB Исключение первенствует для DataTable преобразования

public DataTable exceldata(string filePath) 
{ 
    DataTable dtexcel = new DataTable(); 
    bool hasHeaders = true; 
    string HDR = hasHeaders ? "Yes" : "No"; 
    string strConn; 
    if (filePath.Substring(filePath.LastIndexOf('.')).ToLower() == ".xlsx") 
     strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties=\"Excel 12.0;HDR=" + HDR + ";IMEX=0\""; 
    else 
     strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties=\"Excel 8.0;HDR=" + HDR + ";IMEX=0\""; 
    OleDbConnection conn = new OleDbConnection(strConn); 
    conn.Open(); 
    DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" }); 
    //Looping Total Sheet of Xl File 
    /*foreach (DataRow schemaRow in schemaTable.Rows) 
    { 
    }*/ 
    //Looping a first Sheet of Xl File 
    DataRow schemaRow = schemaTable.Rows[0]; 
    string sheet = schemaRow["TABLE_NAME"].ToString(); 
    if (!sheet.EndsWith("_")) 
    { 
     string query = "SELECT * FROM Customers"; 
     OleDbDataAdapter daexcel = new OleDbDataAdapter(query, conn); 
     dtexcel.Locale = CultureInfo.CurrentCulture; 
     daexcel.Fill(dtexcel); 
    } 

    conn.Close(); 
    return dtexcel; 

} 

Когда я выполнил этот код,

для Microsoft Механизм доступа к базе данных не смог найти объект «Клиенты». Убедитесь, что объект существует, и вы правильно назовете его имя и имя пути. Если «Клиенты» не являются локальным объектом, проверьте сетевое подключение или обратитесь к администратору сервера. она была заселена here..What я должен do.help меня, ребята, пожалуйста ...

+1

SELECT * FROM [Лист1 $] или [Customers $] –

+1

благодаря мани я должен решение –

ответ

2

При запросе файла Excel с помощью .NET вы должны использовать следующий синтаксис:

select * from [Customers$] 

это при условии, что рабочая книга Excel содержит WorkSheet под названием Клиенты

+2

спасибо код работал для меня @ Давида –

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