Pasar datos de una tabla a exel
Buenas Sr. Javier este es un codigo que utilizo para pasar los datos que tiene mi tabla articulo a exel pero al momento de pasarlo a exel solo pasa el ultimo registro de la tabla.
Este es el codigo que utilizo por si usted me puede ayudar
Gracias
SET DELETED ON
MsExcel = Createobject("Excel.Application")
If Type("MsExcel") = "O" Then
MsExcel.Visible = .T. && Esta línea se coloca para ver si llega los datos no es recomendable colocarla.
MsExcel.Workbooks.Add()
MsExcel.Worksheets(1).Name = "Visual FoxPro" && el índice 1 indica el orden sucesivo de las hojas en excel y la propiedad Name sirve para cambiar el nombre de la hoja de Excel.
WkpGxtab = MsExcel.ActiveSheet
With WkpGxtab.Range(WkpGxtab.Cells(3,1), WkpGxtab.Cells(3,4))
.Borders.LineStyle = 7
.Borders(1).Weight = 3
.Borders(2).Weight = 3
.Borders(3).Weight = 3
.Borders(4).Weight = 3
.Font.Bold = .T.
.Font.ColorIndex = 5
.Interior.ColorIndex = 4
.HorizontalAlignment = 3
.VerticalAlignment = 2
Endwith
WkpGxtab.Range("A1").Select
WkpGxtab.Cells(1,1).Value = "Datos de Visual FoxPro"
WkpGxtab.Cells(3,1).Value = "Código"
WkpGxtab.Cells(3,2).ColumnWidth = 30
WkpGxtab.Cells(3,2).Value = "Descripcion"
WkpGxtab.Cells(3,3).ColumnWidth = 40
WkpGxtab.Cells(3,3).Value = "Stock"
WkpGxtab.Cells(3,4).ColumnWidth = 20
WkpGxtab.Cells(3,4).Value = "Precio"
lcRec = Reccount()
DO WHILE !EOF()
i=1
WkpGxtab.Range(WkpGxtab.Cells(i+3,1), WkpGxtab.Cells(i+3,4)).Select
WkpGxtab.Cells(i+3,1).Value = idarticulo
WkpGxtab.Cells(i+3,2).Value = descripcion
WkpGxtab.Cells(i+3,3).Value = stock
WkpGxtab.Cells(i+3,4).Value = precio
With WkpGxtab.Range(WkpGxtab.Cells(i+3,1), WkpGxtab.Cells(lcRec+3,4))
.Borders.LineStyle = 7
.Borders(1).Weight = 2
.Borders(2).Weight = 2
.Borders(3).Weight = 2
.Borders(4).Weight = 2
ENDWITH
i=i+1
SKIP
ENDDO
endif
Este es el codigo que utilizo por si usted me puede ayudar
Gracias
SET DELETED ON
MsExcel = Createobject("Excel.Application")
If Type("MsExcel") = "O" Then
MsExcel.Visible = .T. && Esta línea se coloca para ver si llega los datos no es recomendable colocarla.
MsExcel.Workbooks.Add()
MsExcel.Worksheets(1).Name = "Visual FoxPro" && el índice 1 indica el orden sucesivo de las hojas en excel y la propiedad Name sirve para cambiar el nombre de la hoja de Excel.
WkpGxtab = MsExcel.ActiveSheet
With WkpGxtab.Range(WkpGxtab.Cells(3,1), WkpGxtab.Cells(3,4))
.Borders.LineStyle = 7
.Borders(1).Weight = 3
.Borders(2).Weight = 3
.Borders(3).Weight = 3
.Borders(4).Weight = 3
.Font.Bold = .T.
.Font.ColorIndex = 5
.Interior.ColorIndex = 4
.HorizontalAlignment = 3
.VerticalAlignment = 2
Endwith
WkpGxtab.Range("A1").Select
WkpGxtab.Cells(1,1).Value = "Datos de Visual FoxPro"
WkpGxtab.Cells(3,1).Value = "Código"
WkpGxtab.Cells(3,2).ColumnWidth = 30
WkpGxtab.Cells(3,2).Value = "Descripcion"
WkpGxtab.Cells(3,3).ColumnWidth = 40
WkpGxtab.Cells(3,3).Value = "Stock"
WkpGxtab.Cells(3,4).ColumnWidth = 20
WkpGxtab.Cells(3,4).Value = "Precio"
lcRec = Reccount()
DO WHILE !EOF()
i=1
WkpGxtab.Range(WkpGxtab.Cells(i+3,1), WkpGxtab.Cells(i+3,4)).Select
WkpGxtab.Cells(i+3,1).Value = idarticulo
WkpGxtab.Cells(i+3,2).Value = descripcion
WkpGxtab.Cells(i+3,3).Value = stock
WkpGxtab.Cells(i+3,4).Value = precio
With WkpGxtab.Range(WkpGxtab.Cells(i+3,1), WkpGxtab.Cells(lcRec+3,4))
.Borders.LineStyle = 7
.Borders(1).Weight = 2
.Borders(2).Weight = 2
.Borders(3).Weight = 2
.Borders(4).Weight = 2
ENDWITH
i=i+1
SKIP
ENDDO
endif
1 Respuesta
Respuesta de ingesoft
1