Visual Basic - Como exportar una BD a Excel

Life is soft - evento anual de software empresarial
 
Vista:

Como exportar una BD a Excel

Publicado por Willians Gualdron (7 intervenciones) el 08/09/2005 00:53:54
Estoy realizando un sistema y me piden que exporte todos los datos contenidos en una Base de Datos a una hoja de Excel y no se como hacerlo
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:Como exportar una BD a Excel

Publicado por ivan (463 intervenciones) el 08/09/2005 21:05:17
Fácil...

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