Hola!! tal vez esta información te sirva..
Para convertir un Dw. en excel con formato (Subrayado, Fuente, Negrita,color, etc)
Support of Freeform, Grid, Tabular, N-UP, Group, Crosstab, Composite and Nested DW styles Support of Text,
Column, Expression types of DW objects
Support of DropDownDW, DropDownListBox, Edit, Edit with Code Table and EditMask edit styles of fields
(!Sólo pruebas!; el costo de la PBL esta alrededor de 55 EUR)
Según las pruebas realizadas hasta este momento no es una panacea pero el 80% si lo exporta y la propuesta es correr una macro para el otro 20% según mis requerimientos, pero en otrs casos se cumple en un 100%. (Logo del Encabezado y pie de página)
* El problema más importante es que al momento de ver el reporte en Power Builder las dimensiones son correctas y al exportar a Excel se redimensiona generando más hojas en el previo y la única solución para que respete el tamaño carta es ajustar manualmente los controles dentro del Dw. y que excel automaticamente lo concentre hoja por hoja sin talacha.
* Otro detalle para la macro es que debe correr la opción Herramientas--->Opciones--->y quitar la bandera Líneas de división, esto se corrige con una propiedad del objeto.
* Para el caso de tener un datawindow N-UP lo exporta completo en una hoja sin problema, pero la numeración va de "Derecha a Izquierda y de abajo hacia arriba" y para nuestro caso se requiere que sea de "arriba para abajo y de Derecha a Izquierda" en cuatro columnas (Datawindow TABULAR), el detalle es que el previo del datawindow se observa correcto y cuando lo exporta lo envía lineal hacia abajo.
Sólo cambio algunos detalles de la página origen;Visiten esta página si es necesario
http://lawebdelprogramador.com/news/mostrar_new.php?id=73&texto=Power+Builder&n1=377029&n2=1&n3=0&n4=0&n5=0&n6=0&n7=0&n8=0&n9=0&n0=0
1. Ingresen a:
http://www.desta.com.ua/dw2xls/
2. Bajen la librería dw2xlsdemo_pb903_8511 (280 K), según la versión de PB que usan.
3. Añadan esa librería a su aplicación de la sgte. manera:
- Abran su aplicación; pero ningún objeto debe estar abierto en el lado derecho.
- Clic derecho en su aplicación y elijan Properties...
- En la Ficha Libray List, pulsen Browse.
- Donde dice nombre de archivo, escriban: *.pbd y pulsen Enter.
- Inserten la librería dw2xlsdemo_pb8.pbd ó dw2xlsdemo_pb903_8511 (según sea su caso)
- OK.
4. Para exportar a Excel, en un botón sólo peguen lo siguiente:
integer li_ret
li_ret = uf_save_dw_as_excel(dw_1, 'c:\doc\report.xls')
if li_ret = 1 then
//success
//...
else
//fail
//...
end if
Nota: No es necesario crear previamente el archivo report.xls. Listo!, eso es todo!.
Comentarios:
* Existe otra función llamada uf_save_dw_as_excel_parm, que al guardar, permite especificar ciertas opciones, como ser: incluir la banda o nó, detalle, etc. (existe documentación). y además algo muy importante con la propiedad lnvo_parm.is_version = '2000' porque la versión por default es '97'
* Soporta grupos, computed field, etc.
Saludos!!