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 发送至邮箱
直接输出-前台显示结果: