是否有动态更改 Excel 文件的工作表名称的选项? (通过 APEX、SQL 或 APEX Office Print)

Is there a Option to dynamically change the worksheet Name of an Excel file? (via APEX, SQL or APEX Office Print)

Apex Office Print 使用 {#return}{DATA}{/return} 作为将数据从 SQL 调用到 Excel 的格式。 因此,您将使用此格式来指示数据的去向。问题是您不允许在工作表名称中使用“/”。所以我尝试了 VBA 宏,但没有走得太远,因为宏必须引用也使用这种格式的单元格。除此之外,宏必须在打开文件时工作。我还阅读了 AOP 站点以搜索类似的功能 aop_api_pkg.g_output_filename,但到目前为止运气不佳。如果有人已经遇到同样的问题或知道如何解决这个问题,我将不胜感激。

可以使用 APEX Office Print,您需要使用 {!dynamic_sheet} 标签。鉴于您的 select 陈述:

select
  'file1' as "filename", 
  cursor(
    select  
      cursor(
        select
          'Actual sheet name' "sheet_name"
        from dual
      ) as "dynamic_sheet"
     from dual
  ) as "data"
from dual

您可以使用: {!dynamic_sheet} 标签在您的 sheet 中(无论是哪个单元格,都无关紧要)您想要更改名称的位置。您 sheet 姓名现在将更改为实际 sheet 姓名。

您可以将此查询与您的数据查询结合起来,如下所示:

select
  'file1' as "filename", 
  cursor(
    select  
      cursor(
        select
          'Actual sheet name' "sheet_name"
        from dual
      ) as "dynamic_sheet",
      cust_first_name,
      cust_last_name
     from demo_customers
  ) as "data"
from dual

希望对您有所帮助。