• Viernes 8 de Noviembre de 2024, 06:49

Autor Tema:  ALTAS EN EXCEL  (Leído 2236 veces)

inthemoon

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
ALTAS EN EXCEL
« en: Sábado 24 de Octubre de 2009, 03:00 »
0
Hola que tal estoy tratando de hacer un sistema de altas y bajas con vb.net 2005 y excel. Utilice el siguiente codigo para ingresar datos en un hoja de excel que tomare como mi tabla de altas donde tengo 2 columnas 'ID' y 'NOMBRE' las cuales lleno con Textbox1 y Textbox 2 respectivamente:

Código: vb.net
  1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  2.         Dim conexion As System.Data.OleDb.OleDbConnection
  3.         Dim comando As New System.Data.OleDb.OleDbCommand
  4.         Dim sql As String
  5.  
  6.         conexion = New System.Data.OleDb.OleDbConnection("provider=microsoft.jet.OLEDB.4.0; Data Source='C:ALTAS.xls'; Extended properties=Excel 8.0;")
  7.  
  8.         conexion.Open()
  9.         comando.Connection = conexion
  10.         sql = "Insert into [hoja1$] (id,nombre) values('" & TextBox1.Text & "','" & TextBox2.Text & "')"
  11.         comando.CommandText = sql
  12.         comando.ExecuteNonQuery()
  13.         conexion.Close()
  14.         MsgBox("Informacion Agregada")
  15. End sub
  16.  

Este codigo va agregando los datos en la fila vacia siguiente, me funciona bien  siempre y cuando no tenga texto que aparezca en las filas que estan arriba de los encabezados de las dos columnas (ID y NOMBRE) osea que no puedo poner un encabezado a la hoja en las primeras filas (lo cual es necesario para mi) y abajo la tabla porque me dice que lo campos ID y NOMBRE no existen, es como si no los encontrara si hay texto antes de ellos.
Saben alguna manera de arreglar este problema o alguna otra forma de llenar mi tabla con los datos de los text box?

inthemoon

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Re: ALTAS EN EXCEL
« Respuesta #1 en: Miércoles 28 de Octubre de 2009, 20:21 »
0
Pues logre solucionar el problema.

Solo hay que definir el rango de la tabla, poner la celda donde empiesan los encabezados de la tabla (B10) y despues la celda donde termina la tabla (I40)
       
       
Código: vb.net
  1. sql = "Insert into [hoja1$B10:I40] (id,nombre) values('" & TextBox1.Text & "','" & TextBox2.Text & "')"
  2.  
   
Gracias a todos los que almenos leyeron mi mensaje  :hola: