zoukankan      html  css  js  c++  java
  • 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.
    

      

  • 相关阅读:
    责任链
    ITERATOR(迭代器)设计模式
    CSocket必须使用stream socket不能够使用数据报 socket
    由《win32多线程程序设计》临界区的问题所想
    JavaScript 中的FileReader对象(实现上传图片预览)
    PHP中递归的实现(附例子)
    Git 与 SVN 命令学习笔记
    Apache服务器在80端口配置多域名虚拟主机的方法
    MySQL数据表range分区例子
    MySQL主从复制技术的简单实现
  • 原文地址:https://www.cnblogs.com/yjyongil/p/10606211.html
Copyright © 2011-2022 走看看