Generar Archivos formato CSV desde Forms 6i



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;
Cualquier duda, comenten.[full_width]
Generar Archivos formato CSV desde Forms 6i Generar Archivos formato CSV desde Forms 6i Reviewed by Unknown on 1:20 p.m. Rating: 5

1 comentario: