You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用apex_region.export_data导出Interactive Grid时CURRENCY列未导出的问题

问题描述

我通过以下SQL查询创建了一个Interactive Grid:

select
    REGISTERATION_ID,
    STUDENT_ID,
    DRIVER_ID,
    DELIVERY_TYPE,
    PAYMENT_TYPE,
    AMOUNT,
    CURRENCY,
    DISCOUNT_TYPE,
    DISCOUNT_AMOUNT,
    NET_AMOUNT,
    START_DATE,
    END_DATE,
    PAID_AMOUNT,
    UNPAID_AMOUNT
from myTable

随后使用apex_region.export_data API函数导出该Grid的数据:

l_export := apex_region.export_data (
    p_format       => apex_data_export.c_format_json,
    p_as_clob      => true,  
    p_page_id      => 620,
    p_region_id    => no_of_region_id,
    p_data_only    => true);
v_clob_json_items := l_export.content_clob;

返回的JSON结果中缺失了CURRENCY等部分列(CURRENCY是包含货币值和名称的选择列表项),示例返回结果:

{
    "items": [
        {
            "student_id": "student_name_of_select_list_item_with_value_id",
            "start_date": "2023-05-30T00:00:00",
            "end_date": "2023-07-12T00:00:00",
            "driver_id": "driver_name_of_select_list_item",
            "delivery_type": "\u0630\u0647\u0627\u0628 \u0648\u0625\u064A\u0627\u0628",
            "net_amount": 12000,
            "payment_type": "\u0623\u0633\u0628\u0648\u0639\u064A",
            "paid_amount": 0,
            "unpaid_amount": 12000
        },
        {
            "student_id": "student_name_of_select_list_item_with_value_id",
            "start_date": "2023-01-31T00:00:00",
            "end_date": "2023-05-29T00:00:00",
            "driver_id": "driver_name_of_select_list_item",
            "delivery_type": "\u0630\u0647\u0627\u0628 \u0648\u0625\u064A\u0627\u0628",
            "net_amount": 40000,
            "payment_type": "\u0634\u0647\u0631\u064A",
            "paid_amount": 40000,
            "unpaid_amount": 0
        }
    ]
}
解决建议
  • 检查列的可见性设置:确认CURRENCY等缺失列在Interactive Grid的属性中处于可见状态。apex_region.export_data默认仅导出Grid中当前显示的列,若列被设置为服务器端/客户端隐藏,导出时会被忽略。
  • 验证列的导出配置:在Interactive Grid的列属性面板中,找到「导出」相关选项,确保CURRENCY列的「包含在导出中」开关已勾选,部分列可能被单独配置为不参与导出。
  • 强制指定导出列:如果需要确保特定列被导出,可在apex_region.export_data中添加p_columns参数,明确列出所有需要导出的列,示例:
    l_export := apex_region.export_data (
        p_format       => apex_data_export.c_format_json,
        p_as_clob      => true,  
        p_page_id      => 620,
        p_region_id    => no_of_region_id,
        p_data_only    => true,
        p_columns      => apex_t_varchar2('REGISTERATION_ID','STUDENT_ID','CURRENCY','AMOUNT', ...)); -- 按需列出目标列
    
  • 排查选择列表列配置:对于CURRENCY这类选择列表类型的列,确认其「返回类型」配置正确。若返回值与显示值的设置存在异常,可能导致导出时无法正确抓取数据或被判定为无效列。
  • 验证API参数有效性:p_data_only => true仅控制是否导出数据部分,不会影响列的包含性。若上述配置均无问题,可尝试移除该参数测试,同时确认p_region_id是否指向正确的Interactive Grid区域ID。

内容的提问来源于stack exchange,提问作者shady

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 19:40:09