Se uma coluna da tabela for composta apenas por números ou caracteres, não há problema, mas se houver uma mistura de todos os números e alguns caracteres, algumas partes serão lidas como vazias. O método de conexão com o EXCEL é o seguinte
string strConn = ". Provider=Microsoft.Jet.OLEDB.4.0; " +"Fonte de dados=" + _physicalPath +";Propriedades estendidas=Excel 8.0;";
conexão OleDbConnection = new OleDbConnection(strConn);
conn.Open();
Primeiro, preencho diretamente no DATASET, pensando que o tipo de dados estava incorreto, e então construí uma tabela de dados temporária. Quando importei, ainda tinha um valor nulo. o mesmo problema, mas não foi possível resolvê-lo.
string strConn = Provider=Microsoft.Jet.OLEDB.4.0;
http://www.cnblogs.com/newblue/archive /2006/11/27/573831.html