Visual Basic - Importar datagrid

Life is soft - evento anual de software empresarial
 
Vista:

Importar datagrid

Publicado por Roberto (65 intervenciones) el 29/11/2005 19:27:15
Hola compañeros programadores, tengo una duda a ver si me pueden ayudar

Como puedo importar un datagrid a excel quisiera importar el datagrid tal y como esta directo a excel si alguien sabe como por favor auxilieme o si tienen algun codigo fuente mi correo es el de arriba de ante mano muchisimas gracias por su tiempo tomado en leer este texto,

Saludos y larga vida a todos ustedes..........

Roberto UJ
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Importar datagrid

Publicado por ivan (463 intervenciones) el 29/11/2005 19:37:04
Primero tienes que definir el objeto excel...

Dim objExcel As excel.Application

Set objExcel = New excel.Application
objExcel.Visible = False ' si acaso no quieres que se muestre la aplicacion de Excel

Para poner valores en las celdas de una hoja de excel puedes usar algo parecido a esto..:

With objExcel
.Cells(13, 2) = valor_que_quieras_poner
End With

Creo que las coordenas son "renglón,columna"... si no pruébalo...

Ahora para recorrer todo el contenido del datagrid, creo que sería más fácil recorrer el RecordSet, tuvieras que conocer cuántos y cuáles campos tienes para poder ir asignando los valores a las celdas de la hoja de Excel..

Ya que las columnas y renglones que te muestra el DataGrid no necesariamente son todos los que puedan estar...

Si acaso no es claro este comentario, dime para ver si puedo aportar mas. Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Gracias alguien mas????

Publicado por Robert UJ (65 intervenciones) el 29/11/2005 20:16:03
Muchas gracias ivan si me sirve mucho, tu ayuda si tuvieras un codigo que me pudieras mandar a mi correo te lo agradeceria mucho para poder conocer bien todas las carateristicas de este codigo y para ver que otras aplicaciones puedo darle..
de antemano muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Gracias alguien mas????

Publicado por ivan (463 intervenciones) el 29/11/2005 20:46:47
Esto lo copié de mensajes anteriores... yo lo puse.. a ver si acaso te sirve de algo...

Dim objExcel As excel.Application

Set objExcel = New excel.Application
objExcel.Visible = False ' esto es para poner visible o invisible la hoja de excel...
With objExcel.ActiveSheet
For i=1 to Rs.RecordCount
rs.absoluteposition=i
.Cells(1, 1) = rs("campo1") ' renglon-columna ... no recuerdo bien esto..
.Cells(2, 1) = rs("campo2")
.Cells(3, 1) = rs("campo3")
' dependiendo de los campos
Next i
End With

Lo que quieras hacer en excel desde Visual solo es cosa que hagas una macro de excel... la edites y luego adaptes el código al tuyo... por ejemplo...:

.Range(.Cells(12, 1), .Cells(12, 3)).HorizontalAlignment = xlCenter
.Range(.Cells(12, 1), .Cells(12, 3)).VerticalAlignment = xlBottom
.Range(.Cells(12, 1), .Cells(12, 3)).WrapText = True
.Range(.Cells(12, 1), .Cells(12, 3)).Orientation = 0
.Range(.Cells(12, 1), .Cells(12, 3)).AddIndent = False
.Range(.Cells(12, 1), .Cells(12, 3)).IndentLevel = 0
.Range(.Cells(12, 1), .Cells(12, 3)).ShrinkToFit = False
.Range(.Cells(12, 1), .Cells(12, 3)).ReadingOrder = xlContext
.Range(.Cells(12, 1), .Cells(12, 3)).MergeCells = False
.Range(.Cells(12, 1), .Cells(12, 3)).Font.Size = 6
.Range(.Cells(12, 1), .Cells(12, 3)).Font.Bold = True
.Range(.Cells(12, 1), .Cells(12, 3)).Font.Italic = True
.Range(.Cells(12, 1), .Cells(12, 3)).Font.Name = "Microsoft Sans Serif"
.Range(.Cells(12, 1), .Cells(12, 3)).Borders.LineStyle = xlContinuous

Esto pone un conjunto de celdas al centro, la condicion wraptext en verdadero. el tamaño de letra 6, el tipo Microsoft San Serif, la pone con negritas e itálicas, el borde lo pone sencillo, entre otras cosas...

objExcel.Sheets("Hoja1").Name = "Nuevo Nombre"

Esto le cambia de nombre a la hoja

objExcel.ActiveSheet.PageSetup.Orientation = xlLandscape
objExcel.ActiveSheet.PageSetup.LeftMargin = Application.InchesToPoints(0.78740157480315)
objExcel.ActiveSheet.PageSetup.RightMargin = Application.InchesToPoints(0.78740157480315)
objExcel.ActiveSheet.PageSetup.TopMargin = Application.InchesToPoints(0.393700787401575)
objExcel.ActiveSheet.PageSetup.BottomMargin = Application.InchesToPoints(0.393700787401575)
objExcel.ActiveSheet.PageSetup.PaperSize = xlPaperLetter
objExcel.ActiveSheet.PageSetup.PrintTitleRows = "$1:$13"
objExcel.ActiveWindow.DisplayGridlines = False

Esto configura la hoja en forma apaisada, establece márgenes, elige la hoja tamaño carta, define un encabezado y le quita las "rayitas" al excel...

Lo que si no sé es como cerrar la aplicación... es cosa de que ejecutes macros y más o menos le encuentres como hacer eso...

Espero esto te sea de utilidad.. si acaso tienes dudas... no dudes en preguntarlo...

SALUDOS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Muchas Gracias Ivan

Publicado por Roberto (65 intervenciones) el 29/11/2005 22:58:32
Muchas gracias ivan por tomarte el tiempo para contestarme esta duda es justo lo que nesecitaba en serio muchicimas gracias.

PD. Es bueno contar con gente que le gusta ayudar a los demas...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar