Es sieht so aus, als hätten Sie tatsächlich mehrere Dinge mit Ihren Verbindungszeichenfolgen falsch. Zum einen sollten Excel-Verbindungszeichenfolgen keinen "Anfangskatalog" enthalten, und sie sollten eine Datenquelle enthalten, die sich auf die Datei bezieht, nicht auf einen Server.
Versuchen Sie stattdessen Folgendes:
// There is no column name In a Excel spreadsheet.
// So we specify "HDR=YES" in the connection string to use
// the values in the first row as column names.
if (strExtension == ".xls")
{
// Excel 97-2003
strExcelConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(strUploadFileName) + ";Extended Properties=\"Excel 8.0;HDR=Yes;\"";
//if the above doesn't work, you may need to prefix OLEDB; to the string, e.g.
//strExcelConn = "OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(strUploadFileName) + ";Extended Properties=\"Excel 8.0;HDR=Yes;\"";
}
else
{
// Excel 2007
strExcelConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath(strUploadFileName) + ";Extended Properties=\"Excel 12.0 Xml;HDR=YES\"";
}
Fyi, http://connectionstrings.com ist eine gute Ressource für solche Dinge.