Exportar formulas a excel
Publicado por Carolina (150 intervenciones) el 13/07/2018 17:23:14
Hola amigos! tengo una consulta, quisiera exportar a excel un datawindows que tiene por un lado datos y por el otro subtotales en campos computados.Lo que yo quisiera hacer es saber como poder exportar la formula de un campo computado en vez de exportar directamente el resultado, se puede hacer?
Yo tengo una botón que transpasa las columnas que yo quiero exportar desde datawin que es el datawindows principal, a dw_archivo que es el datawindows que despues se exporta a excel con la funcion SaveAs(), el algoritmo es este:
Ahora bien, yo quisiera que en cada una de estas filas, donde dice por ej:
yo quiero que en vez de que se copie el resultado que es "cf_subtotal_si_g1" que se pueda hacer una celda de formula en excel que sea la sumatoria de esa columna, me explico??? y no se como hacerlo hay forma???
Estoy programando con Power Builder 12.5 y base de datos SQL Server
Muchas gracias por la ayuda que puedan darme!!!!!!
Saludos, Carolina
Yo tengo una botón que transpasa las columnas que yo quiero exportar desde datawin que es el datawindows principal, a dw_archivo que es el datawindows que despues se exporta a excel con la funcion SaveAs(), el algoritmo es este:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
//TRANSPASO LAS COLUMNAS QUE QUIERO LLEVAR A EXCEL
Long vf_excel, v_fila
Datetime vf_1, vf_2
vf_1 = Datetime(date(em_Desde.text), time('00:00'))
vf_2 = Datetime(date(em_Hasta.text), time('23:59'))
dw_archivo.reset()
//LOS TITULOS DEL REPORTE
dw_archivo.insertrow(0)
dw_archivo.setitem(1, 2, 'BALANCE ESPECIAL DE FIN DE EJERCICIO ')
dw_archivo.insertrow(0)
dw_archivo.setitem(2, 2, ' PERIODO SOLICITADO : ' + em_desde.text + ' - ' + em_hasta.text )
dw_archivo.insertrow(0)
dw_archivo.insertrow(0)
For v_fila = 1 To datawin.rowcount()
dw_archivo.insertrow(0)
vf_excel = dw_archivo.rowcount()
dw_archivo.setitem(vf_excel, 1, datawin.getitemnumber(v_fila, 2))
dw_archivo.setitem(vf_excel, 2, datawin.getitemstring(v_fila, 1))
dw_archivo.setitem(vf_excel, 3, datawin.getitemdecimal(v_fila, 6))
dw_archivo.setitem(vf_excel, 4, datawin.getitemdecimal(v_fila, 3))
dw_archivo.setitem(vf_excel, 5, datawin.getitemdecimal(v_fila, 4))
dw_archivo.setitem(vf_excel, 6, datawin.getitemdecimal(v_fila, 9))
dw_archivo.setitem(vf_excel, 7, datawin.getitemdecimal(v_fila, 10))
dw_archivo.setitem(vf_excel, 8, datawin.getitemdecimal(v_fila, "cf_saldo_final"))
If datawin.getitemnumber(v_fila, "cf_piegenero") = 1 then
dw_archivo.insertrow(0)
vf_excel = dw_archivo.rowcount()
dw_archivo.setitem(vf_excel, 2, ' SUBTOTAL - ' + datawin.getitemstring(v_fila, 8))
dw_archivo.setitem(vf_excel, 3, datawin.getitemdecimal(v_fila, "cf_subtotal_si_g1"))
dw_archivo.setitem(vf_excel, 4, datawin.getitemdecimal(v_fila, "cf_subtotal_dme_g1"))
dw_archivo.setitem(vf_excel, 5, datawin.getitemdecimal(v_fila, "cf_subtotal_cme_g1"))
dw_archivo.setitem(vf_excel, 6, datawin.getitemdecimal(v_fila, "cf_subtotal_dae_g1"))
dw_archivo.setitem(vf_excel, 7, datawin.getitemdecimal(v_fila, "cf_subtotal_cae_g1"))
dw_archivo.setitem(vf_excel, 8, datawin.getitemdecimal(v_fila, "cf_subtotal_sf_g1"))
End if
If datawin.getitemnumber(v_fila, "cf_piereporte") = 1 then
dw_archivo.insertrow(0)
vf_excel = dw_archivo.rowcount()
dw_archivo.setitem(vf_excel, 2, "TOTALES = ")
dw_archivo.setitem(vf_excel, 3, datawin.getitemdecimal(v_fila, "cf_total_si"))
dw_archivo.setitem(vf_excel, 4, datawin.getitemdecimal(v_fila, "cf_total_dme"))
dw_archivo.setitem(vf_excel, 5, datawin.getitemdecimal(v_fila, "cf_total_cme"))
dw_archivo.setitem(vf_excel, 6, datawin.getitemdecimal(v_fila, "cf_total_dae"))
dw_archivo.setitem(vf_excel, 7, datawin.getitemdecimal(v_fila, "cf_total_cae"))
dw_archivo.setitem(vf_excel, 8, datawin.getitemdecimal(v_fila, "cf_total_sf"))
End if
Next
//FIN DEL CODIGO
Ahora bien, yo quisiera que en cada una de estas filas, donde dice por ej:
1
dw_archivo.setitem(vf_excel, 3, datawin.getitemdecimal(v_fila, "cf_subtotal_si_g1"))
yo quiero que en vez de que se copie el resultado que es "cf_subtotal_si_g1" que se pueda hacer una celda de formula en excel que sea la sumatoria de esa columna, me explico??? y no se como hacerlo hay forma???
Estoy programando con Power Builder 12.5 y base de datos SQL Server
Muchas gracias por la ayuda que puedan darme!!!!!!
Saludos, Carolina
Valora esta pregunta


0