• Excelファイルを扱う方法


    概要


    データをローカルに落としたいという要件がある場合、ユーザーはExcelを希望するケースが多いだろう。
    そんな時は以下の汎用モジュールを使用して簡単に作る事ができます。
    使用方法は、GUI_UPLOADやGUI_DOWNLOADとほとんど変わらず、少し使用するパラメータが異なったり、ファイル名の型が違うだけなのですぐに理解する事ができると思う。
    ただ、一つ注意してほしいのは、ファイル名で使用する型RLGRAP-FILENAMEは128桁の文字型である為、階層が深いと問題になる場合がある。

    サンプルプログラム:Excelアップロード

    TYPE-POOLS: TRUXS.
     
    TYPES: BEGIN OF T_FILE,
             VAL1(10) TYPE C,
             VAL2(10) TYPE C,
             VAL3(10) TYPE C,
           END OF T_FILE.
    DATA: IT_FILE TYPE TABLE OF T_FILE. " 内部
    DATA: IT_ROW TYPE truxs_t_text_data.
    DATA: W_FILE TYPE RLGRAP-FILENAME.
     
    W_FILE = 'C:	empupload.XLSX'.
     
    CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
      EXPORTING
    *   I_FIELD_SEPERATOR          =
    *   I_LINE_HEADER              =
        I_TAB_RAW_DATA             = IT_ROW
        I_FILENAME                 = W_FILE
      TABLES
        I_TAB_CONVERTED_DATA       = IT_FILE
    * EXCEPTIONS
    *   CONVERSION_FAILED          = 1
    *   OTHERS                     = 2
              .
    IF SY-SUBRC <</SPAN>> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    

      

    サンプルプログラム:Excelダウンロード

    TYPES: BEGIN OF T_FILE,
             VAL1(10) TYPE C,
             VAL2(10) TYPE C,
             VAL3(10) TYPE C,
           END OF T_FILE.
    DATA: IT_FILE TYPE TABLE OF T_FILE, " 内部
          WA_FILE TYPE T_FILE.
    DATA: W_FILE TYPE RLGRAP-FILENAME.
     
    WA_FILE-VAL1 = '1'.
    WA_FILE-VAL2 = '2'.
    WA_FILE-VAL3 = '3'.
    APPEND WA_FILE TO IT_FILE.
     
    W_FILE = 'C:	empdownload.XLSX'.
     
    CALL FUNCTION 'SAP_CONVERT_TO_XLS_FORMAT'
      EXPORTING
    *   I_FIELD_SEPERATOR          =
    *   I_LINE_HEADER              =
        I_FILENAME                 = W_FILE
      TABLES
        I_TAB_SAP_DATA             = IT_FILE
    * CHANGING
    *   I_TAB_CONVERTED_DATA       =
    * EXCEPTIONS
    *   CONVERSION_FAILED          = 1
    *   OTHERS                     = 2
              .
    IF SY-SUBRC <</SPAN>> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    

      

  • 相关阅读:
    关于求LCA三种方法
    逆序对与本质不同的逆序对
    缩点+割点(tarjan)
    关于线段树
    引爆点
    0 基础认知产品经理
    一款 App 开发到上架
    坚持+时间管理
    测试流程
    Java学习笔记--字符串String、StringBuffer和StringBuilder
  • 原文地址:https://www.cnblogs.com/yjyongil/p/10606211.html
Copyright © 2020-2023  润新知