要求:EXECL表格中的字段内容可变.表格中的数据来源于数据库.
求教:如何实现?

解决方案 »

  1.   

    CREATE OR REPLACE PROCEDURE csv (
                                     col_1 IN VARCHAR2 DEFAULT NULL
                                    ,col_2 IN VARCHAR2 DEFAULT NULL
                                     )
    IS
      wk_data                VARCHAR2(1024); 
      wk_file_name           VARCHAR2(1024); 
      stmt_sql               VARCHAR2(2048) DEFAULT NULL; 
      type meisai_type       IS REF CURSOR; 
      meisai_cur             meisai_type; 
      db_col_1               VARCHAR2(10);
      db_col_2               VARCHAR2(10);
    BEGIN
      wk_file_name := 'TEST.CSV';
      --[ CSV FILE OUT]
      owa_util.mime_header('application/cvs', FALSE);
      HTP.P('Content-Disposition: attachment; filename='||wk_file_name);
      owa_util.http_header_close;  stmt_sql := ' SELECT '||col_1||','||col_2||' ';
      stmt_sql := stmt_sql || ' FROM SCOTT.EMP ';
      
      OPEN meisai_cur FOR stmt_sql;
      LOOP
        FETCH meisai_cur
        INTO  db_col_1
             ,db_col_2;
        EXIT WHEN meisai_cur%NOTFOUND;
        wk_data := db_col_1 ||','||
                   db_col_2 ;
        HTP.PRN(wk_data);
        HTP.PRN(chr(13) || chr(10));
      END LOOP;
      CLOSE meisai_cur;
    END csv;
    ------------------------
    用参数控制。关注下,好像有点困难
      

  2.   

    EXCEL 可从其它数据源导入数据.你可以把SQL 写在EXCEL 中的:QUERY 中.以后你只要刷新就可以了.