一个将txt转成xls的程序(只是玩而已,这程序没意义,在window只要改下扩展名就好了)

    技术2022-05-20  60

     DATA: BEGIN OF gt_tab OCCURS 0,      col1 TYPE LENGTH 2,      col2 TYPE LENGTH 2,      col3 TYPE LENGTH 2,      col4 TYPE LENGTH 2,      col5 TYPE LENGTH 2,      col6 TYPE LENGTH 2,      col7 TYPE LENGTH 2,      col8 TYPE LENGTH 2,      col9 TYPE LENGTH 2,      col10 TYPE LENGTH 2,      col11 TYPE LENGTH 2,      col12 TYPE LENGTH 2,      col13 TYPE LENGTH 2,      col14 TYPE LENGTH 2,      col15 TYPE LENGTH 2,      col16 TYPE LENGTH 2,      col17 TYPE LENGTH 2,      col18 TYPE LENGTH 2,      col19 TYPE LENGTH 2,      col20 TYPE LENGTH 2,      col21 TYPE LENGTH 2,      col22 TYPE LENGTH 2,      col23 TYPE LENGTH 2,      col24 TYPE LENGTH 2,      col25 TYPE LENGTH 2,      col26 TYPE LENGTH 2,      col27 TYPE LENGTH 2,      col28 TYPE LENGTH 2,      col29 TYPE LENGTH 2,      col30 TYPE LENGTH 2,      col31 TYPE LENGTH 2,      col32 TYPE LENGTH 2,      col33 TYPE LENGTH 2,      col34 TYPE LENGTH 2,      col35 TYPE LENGTH 2,      col36 TYPE LENGTH 2,      col37 TYPE LENGTH 2,      col38 TYPE LENGTH 2,      col39 TYPE LENGTH 2,      col40 TYPE LENGTH 2,      col41 TYPE LENGTH 2,      col42 TYPE LENGTH 2,      END OF gt_tab.data: g_dfile type string.constants: g_dpath type string value 'D:/Documents and Settings/guoliang.zhou/My Documents'.data: g_mask type string.constants: g_title type string value 'SELECTOR'.SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE tit1.SELECTION-SCREEN BEGIN OF LINE.  SELECTION-SCREEN COMMENT 1(50) com_txt1.  PARAMETERS p_fup TYPE string.  SKIP.SELECTION-SCREEN END OF LINE.SELECTION-SCREEN END OF BLOCK blk1.SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE tit2.SELECTION-SCREEN BEGIN OF LINE.  SELECTION-SCREEN COMMENT 1(50) com_txt2.  PARAMETERS p_fdw TYPE string.  ULINE.SELECTION-SCREEN END OF LINE.SELECTION-SCREEN END OF BLOCK blk2.INITIALIZATION.  tit1 = 'UPLOAD'.  tit2 = 'DOWNLOAD'.  com_txt1 = 'Please select the file to upload'.  com_txt2 = 'Please select the file to download'.AT SELECTION-SCREEN on value-request for p_fup.  g_dfile = '*.txt'.  g_mask = '*.txt'.  PERFORM f_selector USING p_fup.AT SELECTION-SCREEN on value-request for p_fdw.  g_dfile = '*.xls'.  g_mask = '*.xls'.  PERFORM f_selector USING p_fdw.at selection-screen.  perform f_check using p_fup tit1.  perform f_check using p_fdw tit2.start-of-selection.  perform f_upload.  perform f_download.  write 'success'.end-of-selection.FORM f_selector  USING    p_p_file.CALL FUNCTION 'TB_LIMIT_WS_FILENAME_GET' EXPORTING   def_filename           = g_dfile   def_path               = g_dpath   mask                   = g_mask   mode                   'O'   title                  = g_title IMPORTING   filename               = p_p_file EXCEPTIONS   selection_cancel       = 1   selection_error        = 2   OTHERS                 3          .ENDFORM.                    " F_SELECTORform F_CHECK  using p_file p_txt.  data l_rs type c.  CALL METHOD cl_gui_frontend_services=>file_exist    EXPORTING      file                 = p_file    receiving      RESULT               = l_rs    EXCEPTIONS      cntl_error           = 1      error_no_gui         = 2      wrong_parameter      = 3      not_supported_by_gui = 4      others               5          .  IF ( sy-subrc <> or l_rs ne 'X' ).    message i001(00) with 'the  ' p_txt ' file does not exists'.    stop.  ENDIF.endform.                    " F_CHECKform F_UPLOAD .  CALL FUNCTION 'GUI_UPLOAD'    EXPORTING      filename                      = p_fup*     FILETYPE                      = 'ASC'*     HAS_FIELD_SEPARATOR           = ' '*     HEADER_LENGTH                 = 0*     READ_BY_LINE                  = 'X'*     DAT_MODE                      = ' '*     CODEPAGE                      = ' '*     IGNORE_CERR                   = ABAP_TRUE*     REPLACEMENT                   = '#'*     CHECK_BOM                     = ' '*     VIRUS_SCAN_PROFILE            =*     NO_AUTH_CHECK                 = ' '*   IMPORTING*     FILELENGTH                    =*     HEADER                        =    tables      data_tab                      = gt_tab*   EXCEPTIONS*     FILE_OPEN_ERROR               = 1*     FILE_READ_ERROR               = 2*     NO_BATCH                      = 3*     GUI_REFUSE_FILETRANSFER       = 4*     INVALID_TYPE                  = 5*     NO_AUTHORITY                  = 6*     UNKNOWN_ERROR                 = 7*     BAD_DATA_FORMAT               = 8*     HEADER_NOT_ALLOWED            = 9*     SEPARATOR_NOT_ALLOWED         = 10*     HEADER_TOO_LONG               = 11*     UNKNOWN_DP_ERROR              = 12*     ACCESS_DENIED                 = 13*     DP_OUT_OF_MEMORY              = 14*     DISK_FULL                     = 15*     DP_TIMEOUT                    = 16*     OTHERS                        = 17            .  IF sy-subrc <> 0.* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.  ENDIF.endform.                    " F_UPLOADform F_DOWNLOAD .  CALL FUNCTION 'GUI_DOWNLOAD'    EXPORTING*     BIN_FILESIZE                    =      filename                        = p_fdw*     FILETYPE                        = 'ASC'*     APPEND                          = ' '*     WRITE_FIELD_SEPARATOR           = ' '*     HEADER                          = '00'*     TRUNC_TRAILING_BLANKS           = ' '*     WRITE_LF                        = 'X'*     COL_SELECT                      = ' '*     COL_SELECT_MASK                 = ' '*     DAT_MODE                        = ' '*     CONFIRM_OVERWRITE               = ' '*     NO_AUTH_CHECK                   = ' '*     CODEPAGE                        = ' '*     IGNORE_CERR                     = ABAP_TRUE*     REPLACEMENT                     = '#'*     WRITE_BOM                       = ' '*     TRUNC_TRAILING_BLANKS_EOL       = 'X'*     WK1_N_FORMAT                    = ' '*     WK1_N_SIZE                      = ' '*     WK1_T_FORMAT                    = ' '*     WK1_T_SIZE                      = ' '*     WRITE_LF_AFTER_LAST_LINE        = ABAP_TRUE*     SHOW_TRANSFER_STATUS            = ABAP_TRUE*   IMPORTING*     FILELENGTH                      =    tables      data_tab                        = gt_tab*     FIELDNAMES                      =*   EXCEPTIONS*     FILE_WRITE_ERROR                = 1*     NO_BATCH                        = 2*     GUI_REFUSE_FILETRANSFER         = 3*     INVALID_TYPE                    = 4*     NO_AUTHORITY                    = 5*     UNKNOWN_ERROR                   = 6*     HEADER_NOT_ALLOWED              = 7*     SEPARATOR_NOT_ALLOWED           = 8*     FILESIZE_NOT_ALLOWED            = 9*     HEADER_TOO_LONG                 = 10*     DP_ERROR_CREATE                 = 11*     DP_ERROR_SEND                   = 12*     DP_ERROR_WRITE                  = 13*     UNKNOWN_DP_ERROR                = 14*     ACCESS_DENIED                   = 15*     DP_OUT_OF_MEMORY                = 16*     DISK_FULL                       = 17*     DP_TIMEOUT                      = 18*     FILE_NOT_FOUND                  = 19*     DATAPROVIDER_EXCEPTION          = 20*     CONTROL_FLUSH_ERROR             = 21*     OTHERS                          = 22            .  IF sy-subrc <> 0.* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.  ENDIF.endform.                    " F_DOWNLOAD


    最新回复(0)