SAP ABAP2XLSX输出一个简单的EXCEL表之ZDEMO

    科技2025-05-17  7

    ABAP2XLSX手动创建一个Excel表、合并单元格、设置单元格格式并输出,参考标准演示文档ZDEMO_EXCEL1

    代码:

    DATA: lo_excel TYPE REF TO zcl_excel, lo_worksheet TYPE REF TO zcl_excel_worksheet, lo_hyperlink TYPE REF TO zcl_excel_hyperlink, column_dimension TYPE REF TO zcl_excel_worksheet_columndime, lo_style_bold_border TYPE REF TO zcl_excel_style. CONSTANTS: gc_save_file_name TYPE string VALUE 'zdemo_excel1.xlsx'. "文件名 CONSTANTS: lc_typekind_string TYPE abap_typekind VALUE cl_abap_typedescr=>typekind_string. "获取单元格类型 INCLUDE zdemo_excel_outputopt_incl. START-OF-SELECTION. CREATE OBJECT lo_excel. "创建活动的Excel对象 lo_worksheet = lo_excel->get_active_worksheet( ). "获取活动的Excel对象 lo_worksheet->set_title( ip_title = 'Sheet1' ). "设置sheet Name lo_worksheet->set_cell( ip_column = 'A' ip_row = 1 ip_value = 'Hello world' ). "设置B2单元格值 lo_worksheet->set_cell( ip_column = 'B' ip_row = 2 ip_value = sy-datum ). lo_worksheet->set_cell( ip_column = 'B' ip_row = 3 ip_value = 'how' ). lo_worksheet->set_cell( ip_column = 'C' ip_row = 3 ip_value = sy-uzeit ). lo_worksheet->set_cell( ip_column = 'D' ip_row = 2 ip_value = 'where' ). lo_worksheet->set_cell( ip_column = 'D' ip_row = 3 ip_value = 'and' ). lo_worksheet->set_cell( ip_column = 'E' ip_row = 3 ip_value = '0000' ip_abap_type = lc_typekind_string ). "设置单元格格式string(文本) lo_worksheet->set_cell( ip_column = 'E' ip_row = 4 ip_value = 2 ip_abap_type = lc_typekind_string ). lo_hyperlink = zcl_excel_hyperlink=>create_external_link( iv_url = 'http://www.baidu.com' ). "设置链接 lo_worksheet->set_cell( ip_column = 'B' ip_row = 4 ip_value = 'Click here to Baidu' ip_hyperlink = lo_hyperlink ). column_dimension = lo_worksheet->get_column_dimension( ip_column = 'A' ). "设置B列宽度30 column_dimension->set_width( ip_width = '12.4' ). column_dimension = lo_worksheet->get_column_dimension( ip_column = 'B' ). column_dimension->set_width( ip_width = 30 ). lo_worksheet->set_merge( ip_row = 3 ip_column_start = 'B' ip_column_end = 'C' ). "合并单元格 lo_worksheet->set_merge( ip_row = 2 ip_column_start = 'D' ip_column_end = 'D' ip_row_to = 3 ). "合并单元格 lcl_output=>output( lo_excel ). "输出Excel

    运行程序后,输出选项:

    Save to Frontend 前台输出,下载到电脑Save to Backend 后台输出Direct Display 直接输出,在SAP GUI显示Excel表Send Via Email 发送至邮箱

    直接输出-前台显示结果:

    Processed: 0.011, SQL: 8