如何使用工作表名称而不是工作表代码名称从 Oracle Apex(数据解析器)中的 xlsx 文件中提取数据?

发布于 2025-01-09 05:52:21 字数 763 浏览 0 评论 0原文

如何使用工作表名称而不是工作表代码从 Oracle apex 数据解析器中的 xlsx 文件中提取或读取数据:

在下面的示例代码中,我们可以看到使用的是文件工作表代码名称:

SELECT line_number,
   col001,
   col002,
   col003 FROM TABLE (apex_data_parser.parse (p_content           => (SELECT file_content
                                                            FROM loader_files
                                                           WHERE id = 1),
                                  p_file_name         => 'data.xlsx',
                                  **p_xlsx_sheet_name   => 'sheet1.xml',**
                                  p_skip_rows         => 0));

我的要求是而不是使用代码名称“sheet1.xml”,我使用工作表名称“employees”,原因是我们需要从多个工作表中提取数据,并且工作表的位置可能会发生变化,从而更改工作表代码名称,从而破坏我的工作表 代码。

无论如何,这可以做到吗?

How can I extract or read data from xlsx file in Oracle apex data parser using the worksheet name instead of worksheet code:

In the sample code below, we can see that what is used is the file worksheet code name:

SELECT line_number,
   col001,
   col002,
   col003 FROM TABLE (apex_data_parser.parse (p_content           => (SELECT file_content
                                                            FROM loader_files
                                                           WHERE id = 1),
                                  p_file_name         => 'data.xlsx',
                                  **p_xlsx_sheet_name   => 'sheet1.xml',**
                                  p_skip_rows         => 0));

My requirement is to instead of using the code name "sheet1.xml" that I use the worksheet name "employees", the reason is that we need to extract data from multiple worksheets and the position of the worksheets might change, changing the worksheet code names and therefore breaking my code.

Is there anyway this can be done?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

多彩岁月 2025-01-16 05:52:22

使用函数 GET_XLSX_WORKSHEETS 转换将 SHEET_DISPLAY_NAME 转换为 SHEET_FILE_NAME

select
    line_number, col001, col002, col003
from table
(
    apex_data_parser.parse
    (
        p_content           => (select file_content from loader_files where id = 1),
        p_file_name         => 'data.xlsx',
        p_skip_rows         => 0,
        p_xlsx_sheet_name   =>
        (
            select sheet_file_name
            from table
            (
                apex_data_parser.get_xlsx_worksheets
                (
                    p_content => (select file_content from loader_files where id = 1)
                )
            )
            where sheet_display_name = 'employees'      
        )
    )
);

Use the function GET_XLSX_WORKSHEETS to convert a SHEET_DISPLAY_NAME into a SHEET_FILE_NAME:

select
    line_number, col001, col002, col003
from table
(
    apex_data_parser.parse
    (
        p_content           => (select file_content from loader_files where id = 1),
        p_file_name         => 'data.xlsx',
        p_skip_rows         => 0,
        p_xlsx_sheet_name   =>
        (
            select sheet_file_name
            from table
            (
                apex_data_parser.get_xlsx_worksheets
                (
                    p_content => (select file_content from loader_files where id = 1)
                )
            )
            where sheet_display_name = 'employees'      
        )
    )
);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文