14.4 ADD_COLUMNプロシージャ

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

構文


PROCEDURE ADD_COLUMN (
  p_columns             IN OUT NOCOPY t_columns,
  p_name                IN            apex_exec.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;