Рейтинг:
28
Kamalkant(kk)
следуйте этому процессу..
public static DataTable exceldata(string filePath)
{
DataTable dtexcel = new DataTable();
bool hasHeaders = false;
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 [" + sheet3 + "]";
OleDbDataAdapter daexcel = new OleDbDataAdapter(query, conn);
dtexcel.Locale = CultureInfo.CurrentCulture;
daexcel.Fill(dtexcel);
}
conn.Close();
return dtexcel;
}
slawa1
Спасибо!!! Хорошо!!! Супер!!!
AddyRuno
Его не работает он всегда бросает следующий erorr
Компонент Microsoft Office Access database engine не смог найти объект " Sheet1$". Убедитесь, что объект существует и что вы правильно пишете его имя и путь.
KC Abramson
я думаю, что ваш рабочий лист может иметь другое имя, чем лист по умолчанию 1, 2 и т. д.
KC Abramson
Идеальный. Это было отличное сверхбыстрое решение. Спасибо!
Member 7976424
Спасибо!!! 3 раза
Srilekha Bolamoni
можете ли вы предложить без использования OLEDB?
Рейтинг:
0
uspatel
Он работает так же, как и в случае с базой данных.
любить
OleDbConnection cnn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath(@"~\data\cocustomerdetails.xlsx") + "; Extended Properties=Excel 12.0;");
OleDbCommand oconn = new OleDbCommand("select * from [Sheet1$]", cnn);
cnn.Open();
OleDbDataAdapter adp = new OleDbDataAdapter(oconn);
DataTable dt = new DataTable();
adp.Fill(dt);
AddyRuno
ТС не работает, его всегда кидают следующей гиперссылке
Компонент Microsoft Office Access database engine не смог найти объект " Sheet1$". Убедитесь, что объект существует и что вы правильно пишете его имя и путь.