ABAP ABAP2XLSX ZCL_EXCEL使用小技巧

ABAP ABAP2XLSX   ZCL_EXCEL使用小技巧

创建Excel sheet1 

LO_WORKSHEET = LO_EXCEL->GET_ACTIVE_WORKSHEET( ).
  LO_WORKSHEET->SET_TITLE( 'sheet1' ).

边框样式和颜色

LO_BORDER_DARK->BORDER_COLOR-RGB = ZCL_EXCEL_STYLE_COLOR=>C_BLACK.
  LO_BORDER_DARK->BORDER_STYLE = ZCL_EXCEL_STYLE_BORDER=>C_BORDER_THIN.

LO_STYLE_BOLD_BORDER = LO_EXCEL->ADD_NEW_STYLE( ).
  LO_STYLE_BOLD_BORDER->FONT->BOLD = ABAP_TRUE.
  LO_STYLE_BOLD_BORDER->FONT->ITALIC = ABAP_FALSE.
  LO_STYLE_BOLD_BORDER->FONT->COLOR-RGB = ZCL_EXCEL_STYLE_COLOR=>C_BLACK.
  LO_STYLE_BOLD_BORDER->ALIGNMENT->HORIZONTAL = ZCL_EXCEL_STYLE_ALIGNMENT=>C_HORIZONTAL_CENTER.
*  LO_STYLE_BOLD_BORDER->BORDERS->ALLBORDERS = LO_BORDER_DARK.
  LO_STYLE_BOLD_BORDER->BORDERS->LEFT = LO_BORDER_DARK.
  LV_STYLE_BOLD_BORDER_GUID = LO_STYLE_BOLD_BORDER->GET_GUID( ).

对齐方式

边框样式

数据格式化

千分格式

LO_CURR = LO_EXCEL->ADD_NEW_STYLE( ).
  LO_CURR->FONT->BOLD = ABAP_TRUE.
  LO_CURR->FONT->ITALIC = ABAP_FALSE.
  LO_CURR->FONT->COLOR-RGB = ZCL_EXCEL_STYLE_COLOR=>C_BLACK.
  LO_CURR->ALIGNMENT->HORIZONTAL = ZCL_EXCEL_STYLE_ALIGNMENT=>C_HORIZONTAL_CENTER.
  LO_CURR->NUMBER_FORMAT->FORMAT_CODE = ZCL_EXCEL_STYLE_NUMBER_FORMAT=>C_FORMAT_XLSX38. "千分格式
  LO_CURR->BORDERS->ALLBORDERS = LO_BORDER_DARK.
  LO_CURR_GUID = LO_CURR->GET_GUID( ).

  DATA:LCURR LIKE BSEG-DMBTR.
  LCURR = '12345673456.1234'.

  LO_WORKSHEET->SET_CELL( IP_ROW = 2 IP_COLUMN = 'H' IP_VALUE = LCURR IP_STYLE =  LO_CURR_GUID ).

合并单元格

LO_WORKSHEET->SET_MERGE( IP_ROW = 6 IP_COLUMN_START = 'B' IP_COLUMN_END = 'G' ).

设置列宽

SET_ROW_HEIGHT 行高

列宽

 LO_WORKSHEET->SET_COLUMN_WIDTH( IP_COLUMN = 'A' IP_WIDTH_FIX = '10').

设置区域

  LO_WORKSHEET->SET_AREA( IP_ROW = 1 IP_ROW_TO = 6 IP_COLUMN_START = 'B' IP_COLUMN_END = 'G' IP_STYLE = LV_STYLE_BOLD_BORDER_GUID ).

保存文件

  " Convert to binary
  CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
    EXPORTING
      BUFFER        = LV_FILE
    IMPORTING
      OUTPUT_LENGTH = LV_BYTECOUNT
    TABLES
      BINARY_TAB    = LT_FILE_TAB.
*  " This method is only available on AS ABAP > 6.40
*  lt_file_tab = cl_bcs_convert=>xstring_to_solix( iv_xstring  = lv_file ).
*  lv_bytecount = xstrlen( lv_file ).

  " Save the file
  CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD( EXPORTING BIN_FILESIZE = LV_BYTECOUNT
                                                    FILENAME     = LV_FULL_PATH
                                                    FILETYPE     = 'BIN'
                                          CHANGING  DATA_TAB     = LT_FILE_TAB ).

部分样稿

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gavin_gxh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值