A veces se necesita exportar la data a libros excel, a continuación traigo la manera de hacerlo desde una Forma en Oracle 6i.
Este bloque anónimo lo pueden poner dentro de una rutina en el formulario e invocarlo en algún evento como el click en un boton.
Espero que les sirva
DECLARE CARCH TEXT_IO.FILE_TYPE; CARCHIVO VARCHAR2(150); CTITULO1 VARCHAR2(1000); CTITULO2 VARCHAR2(1000); CTITULO3 VARCHAR2(1000); CTITULO4 VARCHAR2(1000); CURSOR CONSOLIDADO IS SELECT * FROM TABLAXXX; BEGIN -- Nombre del archivo CARCHIVO := 'NOMBRE_REPORTE.CSV'; -- Directorio donde se va a guardar CDIRECTORIO := 'C:\' -- Permisos de escritura CARCH := TEXT_IO.FOPEN(CDIRECTORIO || CARCHIVO, 'W'); -- Titulos, cabeceras del reporte CTITULO1 := 'RESUMEN CONSOLIDADO DE REGISTRO DE FACTURAS '; CTITULO2 := 'DEL 01 de abril al 03 de Mayo'; CTITULO3 := ''; -- Nombres de las columnas que corresponden a la del cursor CTITULO4 := 'CAMPO_01' || ',' || 'CAMPO_02' || ',' || 'CAMPO_03' || ',' || 'CAMPO_04' || ',' || 'CAMPO_05'; -- Pintamos las columnas y cabecera TEXT_IO.PUT_LINE(CARCH, CTITULO1); TEXT_IO.PUT_LINE(CARCH, CTITULO2); TEXT_IO.PUT_LINE(CARCH, CTITULO3); TEXT_IO.PUT_LINE(CARCH, CTITULO4); -- Recorremos los datos FOR C_1 IN CONSOLIDADO LOOP TEXT_IO.PUT_LINE(CARCH, C_1.CAMPO_01 || ',' || C_1.CAMPO_02 || ',' || C_1.CAMPO_03 || ',' || C_1.CAMPO_04 || ',' || C_1.CAMPO_05 || ','); END LOOP; -- Cerramos IO TEXT_IO.FCLOSE(CARCH); EXCEPTION WHEN FORM_TRIGGER_FAILURE THEN TEXT_IO.FCLOSE(CARCH); RAISE FORM_TRIGGER_FAILURE; END;
Generar Archivos formato CSV desde Forms 6i
Reviewed by Unknown
on
1:20 p.m.
Rating:
Gracias
ResponderBorrar