Upload Download Excel

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Getting started ... Alles für einen gelungenen Start.
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

Upload Download Excel

Beitrag von PeterPaletti (Specialist / 370 / 34 / 103 ) »
Ich habe ein kleines Problem mit Upload/Download von Excel.
Das nachfolgende Programm lädt eine Excel vom PC hoch und speichert diese wieder auf den PC. Die Excel wird vom Programm nicht geändert.

Wenn ich nun die gespeicherte Excel öffne, erhalte ich vom Excel-Programm die Meldung, dass ein Problem mit der Datei bestehe und soviel als möglich wiederhergestellt werde.
Wieso wird diese Meldung geworfen?

Code: Alles auswählen.

DATA: xls TYPE xstring.
DATA: solix_tab TYPE solix_tab.

PARAMETERS: p_file TYPE file_table-filename.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
  PERFORM f4_for_file CHANGING p_file.


START-OF-SELECTION.

  PERFORM get_data_from_xls USING p_file CHANGING xls.
  PERFORM download_xls USING xls.


FORM get_data_from_xls  USING    file TYPE file_table-filename
                        CHANGING excel TYPE xstring.
  TRY.
      DATA: filesize TYPE w3param-cont_len.
      DATA: bin_data TYPE w3mimetabtype.

      cl_gui_frontend_services=>gui_upload( EXPORTING
                                        filename   = CONV #( file )
                                        filetype   = 'BIN'
                                      IMPORTING
                                        filelength = filesize
                                      CHANGING
                                        data_tab   = bin_data ).

* solix -> xstring
      excel = cl_bcs_convert=>solix_to_xstring( it_solix = bin_data ).


    CATCH cx_root INTO DATA(e_text).
      MESSAGE e_text->get_text( ) TYPE 'S' DISPLAY LIKE 'E'.
  ENDTRY.

ENDFORM.


FORM f4_for_file  CHANGING filename TYPE file_table-filename.
  DATA: rc TYPE i.
  DATA: files TYPE filetable.
  DATA: action TYPE i.

  CLEAR files.

  TRY.
      cl_gui_frontend_services=>file_open_dialog( EXPORTING
                                                    file_filter = |xlsx (*.xlsx)\|*.xlsx\|{ cl_gui_frontend_services=>filetype_all }|
                                                  CHANGING
                                                    file_table  = files
                                                    rc          = rc
                                                    user_action = action ).

      IF action = cl_gui_frontend_services=>action_ok.
        IF lines( files ) > 0.
          filename = files[ 1 ]-filename.
        ENDIF.
      ENDIF.

    CATCH cx_root INTO DATA(e_text).
      MESSAGE e_text->get_text( ) TYPE 'I'.
  ENDTRY.
ENDFORM.

FORM download_xls  USING    excel TYPE xstring.
  IF xstrlen( excel ) > 0.
    DATA: action TYPE i.
    DATA: filename TYPE string.
    DATA: fullpath TYPE string.
    DATA: path TYPE string.

    cl_gui_frontend_services=>file_save_dialog( EXPORTING
                                                  default_file_name = 'Excel.xlsx'
                                                  default_extension = 'xlsx'
                                                  file_filter       = |Excel-Datei (*.xlsx)\|*.xlsx\|{ cl_gui_frontend_services=>filetype_all }|
                                                CHANGING
                                                  filename          = filename
                                                  path              = path
                                                  fullpath          = fullpath
                                                  user_action       = action ).

    IF action EQ cl_gui_frontend_services=>action_ok.
      DATA(bin_data) = cl_bcs_convert=>xstring_to_solix( EXPORTING iv_xstring = excel ).

      cl_gui_frontend_services=>gui_download( EXPORTING
                                                filename     = fullpath
                                                filetype     = 'BIN'
                                                bin_filesize = xstrlen( excel )
                                              CHANGING
                                                data_tab     = bin_data ).


    ENDIF.
  ENDIF.
ENDFORM.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Upload Download Excel

Beitrag von black_adept (Top Expert / 4140 / 132 / 957 ) »
Moin Peter,

ist filesize = xstrlen( excel )?

Falls nicht: Ändert sich das, wenn du in cl_bcs_convert=>solix_to_xstring( ) den (optionalen) Parameter iv_size mitgibst und meckert Excel dann immer noch?

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
PeterPaletti

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Upload Download Excel

Beitrag von PeterPaletti (Specialist / 370 / 34 / 103 ) »
Nein. Filesize ist nicht xstrlen( excel )

Nein. Das Programm Excel moppert nicht mehr, wenn man den optionalen Parameter iv_size setzt.

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1575
Views
Upload/Download
von alex1986 » 27.02.2012 14:53 • Verfasst in ABAP® für Anfänger
2
Antw.
8841
Views
XML Download und Upload
von Alpha » 12.11.2008 13:53 • Verfasst in ABAP Objects®
3
Antw.
4518
Views
Download-Upload-Tool
von quercus » 16.02.2006 13:12 • Verfasst in ABAP® Core
0
Antw.
2198
Views
Excel Upload ohne Excel aber OpenOffice
von MarkusW » 23.01.2008 17:07 • Verfasst in ABAP® Core
4
Antw.
4103
Views
Download und Upload von ABAP-Anwendungen
von schwar01 » 02.01.2007 10:20 • Verfasst in Basis

Über diesen Beitrag



Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Unbeantwortete Forenbeiträge

Username als Variable in xdc-Datei?
vor einer Woche von uli3480 1 / 1444
Substitution zum Zeitpunkt 60
vor 3 Wochen von irene 1 / 4012
CDS View Erweitern mit Hierarchie
vor 3 Wochen von Interger 1 / 6646
Intervall mit Beziehungswissen füllen
letzen Monat von wolli 1 / 40418