Power Builder - conección graficas en excel y powerbuilder

   
Vista:

conección graficas en excel y powerbuilder

Publicado por Daniel Escobar (3 intervenciones) el 17/07/2008 06:22:38
he tratado de enviar datos a excel y a partir de estos generear la grafica en
tiempor de ejecución , pero no lo he logrado. Tengo esta parte de codigo
que he probado pero sin éxito. Si alguien puede ayudarme muchas gracias.

cualquier idea es bienvenida

integer li_valorRetornado, iCounter,iMaxRows,iMaxCols, iInner
string saBuffer[100,100]

OLEObject xlsApp, obChart

xlsApp = Create OLEObject
obChart = Create OLEObject

li_valorRetornado = xlsApp.ConnectToNewObject ("excel.application")
If li_valorRetornado < 0 then
MessageBox ("Error","No pudo conectarse a Excel")
return failure
end If

li_valorRetornado = obChart.ConnectToNewObject ( "c:expense.xls", "excel.chart")
If li_valorRetornado < 0 then
MessageBox ("Error","No pudo conectarse a excel.chart")
return failure
end If

setpointer(hourglass!)

Try
xlsApp.workBooks.Add('C:RFC.XLS')
obChart.Object.Application.Chart
obChart = xlsApp.ActiveWorkBook.Worksheets(1)
//
iMaxRows = idw_gr_ordenes.RowCount()
iMaxCols = integer(idw_gr_ordenes.Object.DataWindow.Column.Count)

for iCounter = 1 to iMaxRows
for iInner = 1 to iMaxCols
saBuffer[iCounter, iInner] = string(idw_gr_ordenes.GetItemNumber(iCounter,iInner))
next
next

//
xlsApp.Range('$A$1:$F$100').value = saBuffer
xlsApp.Range('$A$1:$F$100').select

obChart.ExcelChart.Type = 'xl3DColumn'
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

conección graficas en excel y powerbuilder

Publicado por Guillermo (65 intervenciones) el 21/06/2013 17:34:30
Hola a todos, ayer perdí casi todo un día tratando de exportar un datawindow a excel y que luego grafique de acuerdo a los datos de mi dw, utilizando macros de excel en power, me fue de mucha utilidad el código que dejo el amigo mas arriba en el 2008, y busque bastante información que me puedan servir y no encontré mucho y menos aun en nuestro idioma, así que me tome la molestia de postear esto para quien pueda necesitar en el futuro.
En este link están los códigos que tienen que pasarle para elegir el tipo de gráfico (obChart.ChartType = -4102)
http://msdn.microsoft.com/en-us/library/office/bb241008%28v=office.12%29.aspx
Saludos desde Paraguay
-------------------------------------------------------------------------

integer li_valorRetornado
integer iCounter,iMaxRows,iMaxCols, iInner

OLEObject xlsApp, obChart, oBook, oSheet

xlsApp = Create OLEObject
oBook = Create OLEObject
oSheet = Create OLEObject
obChart = Create OLEObject

li_valorRetornado = xlsApp.ConnectToNewObject("Excel.application")
If li_valorRetornado < 0 then
MessageBox ("Error","No pudo conectarse a Excel")
return
end If

setpointer(hourglass!)
oBook = xlsApp.Workbooks.Add()
oSheet = oBook.Worksheets.Item(1)

iMaxRows = cdw_ausencias.RowCount()
iMaxCols = integer(cdw_ausencias.Object.DataWindow.Column.Count)

for iCounter = 1 to iMaxRows
for iInner = 1 to iMaxCols
oSheet.Cells(iCounter,iInner).Value = f_obtener_valor_col(cdw_ausencias,Trim(cdw_ausencias.Describe("#"+string(iInner) + ".Name")),iCounter)
next
next
//
obChart = oSheet.ChartObjects.Add(100, 100, 500, 200).Chart
obChart.SetSourceData(oSheet.Range("C1").Resize(iMaxRows,iMaxCols - 2))
obChart.ChartType = -4102
obChart.HasTitle = True
obChart.ChartTitle.Text = "Ausencias de Empleados"
obChart.SeriesCollection(1).XValues = oSheet.Range("B1","B"+string(iMaxRows)).Value

xlsApp.Visible = True
xlsApp.UserControl = True
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