EXCEL-Daten über OLE2 in interne Tabelle

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

EXCEL-Daten über OLE2 in interne Tabelle

Beitrag von vinny (ForumUser / 3 / 0 / 0 ) »
Hallo ABAP-Freunde,

ich bin ein Neuling in der großen weiten ABAP-Welt und versuche zur Zeit per OLE2 Daten aus einer EXCEL-Tabelle in eine interne Tabelle zu lesen.
Da es auf dem Server keinen der drei passenden Funktionsbausteine (ALSM_EXCEL_TO_INTERNAL_TABLE, FILE_READ_AND_GET_TAB, FILE_READ_AND_SAP_DATA) gibt habe ich versucht eine entsprechende Funktion selbst zu programmieren.

Code: Alles auswählen.

INCLUDE ole2incl.


DATA: EXCEL         TYPE OLE2_OBJECT,         " Excel.Application
      O_MAPL          TYPE OLE2_OBJECT,         " list of workbooks
      WORKAREA      TYPE OLE2_OBJECT,         " Workbook
      O_MAP           TYPE OLE2_OBJECT,         " Mappe

      O_ACTIVE_WINDOW TYPE OLE2_OBJECT,         " Active Window
      O_ACTIVE_SHEET  TYPE OLE2_OBJECT,         " Active Sheet
      O_CELL          TYPE OLE2_OBJECT,         " Cell
      V_ZAHL          TYPE P DECIMALS 2,        " Number
      V_VALUE(30)     TYPE C,
      zeile(10)     TYPE i,
      i(10)         TYPE i.          " Cell Value


CREATE OBJECT excel 'Excel.Application'.
SET PROPERTY OF excel 'VISIBLE' = 0.
CALL METHOD OF excel 'WORKBOOKS' = workarea.
CALL METHOD OF workarea 'OPEN' EXPORTING #1 = 'C:\temp\kst_test.xls'.
GET PROPERTY OF excel 'ACTIVEWORKBOOK' = workarea.


V_VALUE = 'dummy'.
zeile = 2950.
WHILE V_VALUE <> ''.
zeile = zeile + 1.
*** Wert "Länge" auslesen
  PERFORM GET_CELLVALUE USING zeile  1 V_VALUE.
  WRITE:  'Benutzernamen: ', V_VALUE.

*** Wert "Breite" auslesen
  PERFORM GET_CELLVALUE USING zeile  2 V_VALUE.
  WRITE:  'Kostenstelle:', V_VALUE.

*** Wert "Höhe" auslesen
  PERFORM GET_CELLVALUE USING zeile  3 V_VALUE.
  WRITE:  'Bezeichnung der Organisationseinheit:  ', V_VALUE.


ENDWHILE.

STOP.

*---------------------------------------------------------------------*
*       FORM GET_CELLVALUE                                            *
*---------------------------------------------------------------------*
FORM GET_CELLVALUE USING I J VAL.

* Zelle, aus der Ergebnis gelesen wird
*  CALL METHOD OF EXCEL 'ActiveSheet' = O_ACTIVE_SHEET
*       EXPORTING
*               #1 = SPACE
*               #2 = 1           "Drawing Objects
*               #3 = 1           "Contents
*               #4 = 1.          "Scenarios

  CALL METHOD OF EXCEL 'Cells' = O_CELL
       EXPORTING
          #1 = I                                            "Zeile
          #2 = J.                                           "Spalte

* Zellinhalt lesen
*  GET PROPERTY OF O_ACTIVE_SHEET 'Value' = V_VALUE.
  GET PROPERTY OF O_CELL 'Value' = V_VALUE.

  IF V_VALUE CO '0123456789. '.
    V_ZAHL = V_VALUE.
    VAL = V_ZAHL.
  ELSE.
    VAL = V_VALUE.
  ENDIF.

* Objekt freigeben
*  FREE OBJECT O_ACTIVE_SHEET.
  FREE OBJECT O_CELL.

ENDFORM.
Leider befinde ich mich dann in einer Endlosschleife, da ABAP ein leeres EXCEL-Feld mit einem Wert von 0.00 interpretiert.
Auch wenn ich diesen Wert in die Schleifenbedingung als Abbruchargument einfüge verlässt das Programm die Schleife nicht.
Bin im Moment etwas ratlos. Hat von euch jemand eine Idee, wie ich dieses Problem lösen kann?

Über neue Impulse würde ich mich sehr freuen.

Mit freundlichen Grüßen

Vinny

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


Re: EXCEL-Daten über OLE2 in interne Tabelle

Beitrag von merste (ForumUser / 1 / 0 / 0 ) »
Hallo Vinny,

ich habe für Deine Frage leider keine Antwort. Allerdings benötige ich selbst dringend eine Funktion mit der ich eine Excel-Liste in eine interne Tabelle umwandeln kann. Hast Du vielleicht schon Neuigkeiten wie das fnktionieren könnte?

Grüße,

Seite 1 von 1

Vergleichbare Themen

7
Antw.
11975
Views
Daten aus interne Tabelle in Excel Datei
von meocon » 04.09.2008 10:55 • Verfasst in ABAP® für Anfänger
1
Antw.
3378
Views
Daten aus DB-Tabelle in interne Tabelle kopieren
von b0rsti » 07.02.2008 10:52 • Verfasst in ABAP® für Anfänger
1
Antw.
1795
Views
Excel tabelle in interne tabelle uploaden
von thesaint » 16.02.2005 09:36 • Verfasst in Basis
2
Antw.
1546
Views
HTTP-Daten als interne Tabelle
von quercus » 04.11.2005 11:02 • Verfasst in ABAP® Core

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Nach MESSAGE TYPE E Felder entsperren
vor 7 Stunden von msfox gelöst 7 / 6057
ABAP - Mail so10 Text
vor 13 Stunden von retsch 6 / 142
selection-screen comment mit icon
vor 21 Stunden von DeathAndPain 9 / 1181

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.

Aktuelle Forenbeiträge

Nach MESSAGE TYPE E Felder entsperren
vor 7 Stunden von msfox gelöst 7 / 6057
ABAP - Mail so10 Text
vor 13 Stunden von retsch 6 / 142
selection-screen comment mit icon
vor 21 Stunden von DeathAndPain 9 / 1181

Unbeantwortete Forenbeiträge

SD_PRINT_TERMS_OF_PAYMENT
vor 5 Tagen von Manfred K. 1 / 942
BUSOBJEKT zu CMIS PHIO ermitteln
vor 3 Wochen von snooga87 1 / 2752