Desempenho do OLEDB para ler o Excel
O código a seguir leva 2500 milissegundos em um computador i7- * 3.4 GHz do windows-7 de 64 bits para ler uma planilha do excel com 25.000 linhas e 5 colunas. Cada célula inclui aproximadamente uma string com 10 caracteres. Isso é normal? Como posso ler mais rápido?
Stopwatch sw1 = Stopwatch.StartNew();
var connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}; " +
"Extended Properties=Excel 12.0;", filename);
var adapter = new OleDbDataAdapter("SELECT * FROM [roots$]", connectionString);
var ds = new DataSet();
adapter.Fill(ds, "roots");
sw1.Stop(); Console.WriteLine("Time taken for excel roots: {0} ms", sw1.Elapsed.TotalMilliseconds);