13.4 ADD_COLUMNプロシージャ

このプロシージャは、列のコレクションに列を追加します。列コレクションは、エクスポートに列のサブセットのみを返すためにEXPORTコールに渡すことができます。空の列コレクションが渡された場合(または列コレクションが渡されなかった場合)、問合せコンテキストで定義されたすべての列がエクスポートに追加されます。

構文

PROCEDURE ADD_COLUMN (
    p_columns               IN OUT NOCOPY   t_columns,
    p_name                  IN              wwv_flow_exec_api.t_column_name,
    p_heading               IN              VARCHAR2                            DEFAULT NULL,
    p_format_mask           IN              VARCHAR2                            DEFAULT NULL,
    p_heading_alignment     IN              t_alignment                         DEFAULT NULL,
    p_value_alignment       IN              t_alignment                         DEFAULT NULL,
    p_width                 IN              NUMBER                              DEFAULT NULL,
    p_is_column_break       IN              BOOLEAN                             DEFAULT FALSE,
    p_is_frozen             IN              BOOLEAN                             DEFAULT FALSE,
    p_column_group_idx      IN              PLS_INTEGER                         DEFAULT NULL );

パラメータ

パラメータ 説明
p_columns 列コレクション。
p_name 列名。
p_heading 列ヘッダー・テキスト。
p_format_mask 適用する書式マスク。ネイティブ・データ型が使用されるXLSXエクスポートに役立ちます。
p_heading_alignment 列ヘッダーの位置合せ。有効な値は、LEFTCENTERRIGHTです。
p_value_alignment 列値の位置合せ。有効な値は、LEFTCENTERRIGHTです。
p_width PDFのみ。列の幅。デフォルトでは、単位はパーセントです。単位は、印刷構成のwidth_unitsを更新することで変更できます。
p_is_column_break この列をコントロール・ブレークに使用するかどうか
p_is_frozen XLSXのみ。列が固定されているかどうか。
p_column_group_idx 列グループの索引。使用すると、この列は列グループの一部になります。

DECLARE
    l_context               apex_exec.t_context;

    l_export                apex_data_export.t_export;
    l_columns               apex_data_export.t_columns;
BEGIN

    l_context := apex_exec.open_query_context(
        p_location    => apex_exec.c_location_local_db,
        p_sql_query   => 'select * from emp' );

    apex_data_export.add_column(
        p_columns             => l_columns,
        p_name                => 'ENAME',
        p_heading             => 'Name' );

    apex_data_export.add_column(
        p_columns             => l_columns,
        p_name                => 'JOB',
        p_heading             => 'Job' );

    apex_data_export.add_column(
        p_columns             => l_columns,
        p_name                => 'SAL',
        p_heading             => 'Salary',
        p_format_mask         => 'FML999G999G999G999G990D00' );

    l_export := apex_data_export.export (
        p_context               => l_context,
        p_format                => apex_data_export.c_format_html,
        p_columns               => l_columns,
        p_file_name             => 'employees' );

    apex_exec.close( l_context );

    apex_data_export.download( p_export => l_export );

EXCEPTION
    WHEN others THEN
        apex_exec.close( l_context );
        raise;
END;