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.
12682
Views
Daten aus interne Tabelle in Excel Datei
von meocon » 04.09.2008 10:55 • Verfasst in ABAP® für Anfänger
1
Antw.
4165
Views
Daten aus DB-Tabelle in interne Tabelle kopieren
von b0rsti » 07.02.2008 10:52 • Verfasst in ABAP® für Anfänger
4
Antw.
3498
Views
Interne Tabelle in Excel schreiben
von mamba » 12.12.2006 15:36 • Verfasst in ABAP® Core
1
Antw.
1251
Views
Datenbanktabelle Daten aus interne Tabelle schreiben
von L0w-RiDer » 05.12.2018 11:13 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Fehlermeldung in einer Klasse
vor 7 Stunden von ralf.wenzel gelöst 15 / 4395
BAPI_ACC_DOCUMENT_POST
vor 4 Tagen von Lukas Sanders 3 / 1564
Side by Side extensions
vor 6 Tagen von JHM 2 / 1725

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

Fehlermeldung in einer Klasse
vor 7 Stunden von ralf.wenzel gelöst 15 / 4395
BAPI_ACC_DOCUMENT_POST
vor 4 Tagen von Lukas Sanders 3 / 1564
Side by Side extensions
vor 6 Tagen von JHM 2 / 1725

Unbeantwortete Forenbeiträge

Benutzerdefinierte Felder PSP
vor einer Woche von Rabea1103 1 / 15469
Spool vereinen OTF und PDF
vor 4 Wochen von anna2205 1 / 29822
XSLT und Loipro05 Transformation
December 2025 von Torsten1965 1 / 36865
VOLL Artikel in einem Display Typ 12
November 2025 von ThomasM84 1 / 55628