Foros del Web » Programación para mayores de 30 ;) » .NET »

VB.Net 2008 y Excel: no reconoce números

Estas en el tema de VB.Net 2008 y Excel: no reconoce números en el foro de .NET en Foros del Web. Wenas. En VB.Net estoy intentando leer un fichero excel. Para ello, hago Dim command As OleDb.OleDbCommand = New OleDb.OleDbCommand( _ String.Format("SELECT * FROM [{0}$]", "PestanaExcel")) ...
  #1 (permalink)  
Antiguo 03/05/2010, 04:04
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 21 años, 11 meses
Puntos: 1
Exclamación VB.Net 2008 y Excel: no reconoce números

Wenas.

En VB.Net estoy intentando leer un fichero excel. Para ello, hago

Dim command As OleDb.OleDbCommand = New OleDb.OleDbCommand( _
String.Format("SELECT * FROM [{0}$]", "PestanaExcel"))
command.Connection = connection
Dim adapter As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(command)
Dim dt As New DataTable
adapter.Fill(dt)

El caso es que tengo problemas con las celdas que solo tienen números: no me carga sus valores, dejándolos a DBNull.

En la misma celda he probado a cambiar el valor numérico por un valor alfabético, y en ese caso si carga el valor.

También he probado con otras celdas, y ocurre lo mismo: si hay solo número, no carga.

He probado a formatear la celda, a ponerla como Number, como Text, .., y nada.

Toy pelin desesperado.

¿Se os ocurre que puede ser?

THX anticipadas
__________________
No es sabio el que sabe sino el que no sabe y quiere aprender
  #2 (permalink)  
Antiguo 03/05/2010, 19:25
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 24 años
Puntos: 19
Respuesta: VB.Net 2008 y Excel: no reconoce números

Hola

No se que será lo que estará pasando. Pero podes probar usando acceder al excel usando oleDb:

Código PHP:

string connectionString 
= @"Provider=Microsoft.Jet.
    OLEDB.4.0;Data Source=Book1.xls;Extended
    Properties=""Excel 8.0;HDR=YES;"""
;

DbProviderFactory factory =
   
DbProviderFactories.GetFactory("System.Data.OleDb");

DbDataAdapter adapter factory.CreateDataAdapter();

DbCommand selectCommand factory.CreateCommand();
selectCommand.CommandText "SELECT ID,City,State
                                     FROM [Cities$]"
;

DbConnection connection factory.CreateConnection();
connection.ConnectionString connectionString;

selectCommand.Connection connection;

adapter.SelectCommand selectCommand;

DataSet cities = new DataSet();

adapter.Fill(cities);

gridEX1.SetDataBinding(cities.Tables[0], "");
gridEX1.RetrieveStructure(); 
podes verlo completo aca:

http://davidhayden.com/blog/dave/arc...5/26/2973.aspx


Si de esa forma te da el mismo problema usa esta conexión
Código PHP:

conexion 
=  "Provider=Microsoft.Jet.OleDB.4.0;Data
Source=ExcelFile; Extended Properties=""Excel
8.0;HDR=YES;IMEX=1;ImportMixedTypes=Text """ 
:


Fijate que se le agrega algunos parametros como IMEX y otros, seguro que ahí te va a funcionar
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
  #3 (permalink)  
Antiguo 04/05/2010, 03:59
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 21 años, 11 meses
Puntos: 1
Respuesta: VB.Net 2008 y Excel: no reconoce números

Hola Trulala.

Gracias por la respuesta.

Lo estudiaremos.

Salu2
__________________
No es sabio el que sabe sino el que no sabe y quiere aprender

Etiquetas: excel, reconoce
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:20.