Office Integration (Excel)

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
1 Beitrag • Seite 1 von 1
1 Beitrag Seite 1 von 1

Office Integration (Excel)

Beitrag von datatom (ForumUser / 13 / 0 / 0 ) »
Hallo zusammen,

ich schreibe ein Programm welches Daten aus einer internen Tabelle in einem inplaced Excelsheet ausgibt. Allerdings habe ich seit Tagen ein Problem bei der Formatierung der Zellen. Die Formatierung der 6.Zelle in der 6. Reihe ist leider nur in der 1.Zelle der 1. Zeile zu finden. Der Spalteninhalt stimmer allerdings. :? Warum?

Range für die erste Spalte, 4 Reihen lang:

Code: Alles auswählen.

  ITAB_RANGE_WA-NAME = 'Range_Budget'.
  ITAB_RANGE_WA-ROWS = '0004'.
  ITAB_RANGE_WA-COLUMNS = '0001'.
  APPEND ITAB_RANGE_WA TO ITAB_RANGE.

* Datenbereich für ITAB_BUDGET benennen
  CALL METHOD OBJ_DOI_SPREADSHEET->INSERT_RANGE_DIM
    EXPORTING
      NAME     = 'Range_Budget' " Name des neuen Bereiches
      LEFT     = 1 " Linker Rand des Bereiches
      TOP      = 1 " Oberer Rand des Bereiches
      ROWS     = 4 " Zeilenanzahl
      COLUMNS  = 1 " Spaltenanzahl
      NO_FLUSH = ' '
    IMPORTING
      ERROR    = OBJ_ERROR
      RETCODE  = RETCODE.
  PERFORM FEHLERPRUEFUNG.
Range für die sechste Spalte, 1 Reihe lang:

Code: Alles auswählen.

    ITAB_RANGE_WA-NAME = 'Range_Haupt'.
  ITAB_RANGE_WA-ROWS = '0001'.
  ITAB_RANGE_WA-COLUMNS = '0001'.
  APPEND ITAB_RANGE_WA TO ITAB_RANGE.

* Datenbereich für ITAB_HAUPTUEBER benennen
  CALL METHOD OBJ_DOI_SPREADSHEET->INSERT_RANGE_DIM
    EXPORTING
      NAME     = 'Range_Haupt'
      LEFT     = 6" Linker Rand des Bereiches
      TOP      = 6" Oberer Rand des Bereiches
      ROWS     = 1 " Anzahl Reihen
      COLUMNS  = 1 " Anzahl Spalten
      NO_FLUSH = ' '
    IMPORTING
      ERROR    = OBJ_ERROR
      RETCODE  = RETCODE.
  PERFORM FEHLERPRUEFUNG.
Dann wird die Tabelle für den Partameter ranges der Methode set_ranges_data gefüllt:

Code: Alles auswählen.

  ITAB_BUDGET_WA-ROW = '0001'.
  ITAB_BUDGET_WA-COLUMN = '0001'.
  ITAB_BUDGET_WA-VALUE = 'Budget*:'.
  APPEND ITAB_BUDGET_WA TO ITAB_BUDGET.

  ITAB_BUDGET_WA-ROW = '0002'.
  ITAB_BUDGET_WA-COLUMN = '0001'.
  ITAB_BUDGET_WA-VALUE = 'Gesamtpunkte:'.
  APPEND ITAB_BUDGET_WA TO ITAB_BUDGET.

  ITAB_BUDGET_WA-ROW = '0003'.
  ITAB_BUDGET_WA-COLUMN = '0001'.
  ITAB_BUDGET_WA-VALUE = 'Betrag pro Punkt::'.
  APPEND ITAB_BUDGET_WA TO ITAB_BUDGET.

  ITAB_BUDGET_WA-ROW = '0004'.
  ITAB_BUDGET_WA-COLUMN = '0001'.
  ITAB_BUDGET_WA-VALUE = 'Anzahl MA:'.
  APPEND ITAB_BUDGET_WA TO ITAB_BUDGET.

  ITAB_HAUPTUEBER_WA-ROW = '0005'.
  ITAB_HAUPTUEBER_WA-COLUMN = '0001'.
  ITAB_HAUPTUEBER_WA-VALUE = 'Namentliche Auflistung'.
  APPEND ITAB_HAUPTUEBER_WA TO ITAB_BUDGET.
Dann folgt der Methodenaufruf set_ranges_data:

Code: Alles auswählen.

  CALL METHOD OBJ_DOI_SPREADSHEET->SET_RANGES_DATA
    EXPORTING
      RANGES   = ITAB_RANGE " " Tabelle aller Bereiche
      CONTENTS = ITAB_BUDGET "" Datentabelle
      NO_FLUSH = ' '
    IMPORTING
      ERROR    = OBJ_ERROR
      RETCODE  = RETCODE.
  PERFORM FEHLERPRUEFUNG.
Inhalt der Tabelle für den Parameter ranges:

Code: Alles auswählen.

Zeile    Name                Rows           colums      code
1	 Range_Budget        0004 	    0001
2	 Range_Haupt	     0001	    0001
Inhalt der Tabelle für den Parameter Contents:

Code: Alles auswählen.

Zeile   Row     Column      Value
1	0001	0001	    Budget*:
2	0002	0001	    Gesamtpunkte:
3	0003	0001	    Betrag pro Punkt::
4	0004	0001	    Anzahl MA:
5	0005	0001	    Namentliche Auflistung
Formatieren der ersten Zelle der Reihen 1 bis 4, bzw. der range "Range_Budget":

Code: Alles auswählen.

CALL METHOD OBJ_DOI_SPREADSHEET->INSERT_RANGE
    EXPORTING
      COLUMNS  = 1 " Spaltenanzahl
      ROWS     = 4 " Zeilenanzahl
      NAME     = 'Range_Budget' " Name des neuen Bereiches
      NO_FLUSH = ' '
    IMPORTING
      ERROR    = OBJ_ERROR
      RETCODE  = RETCODE.
  PERFORM FEHLERPRUEFUNG.

*----------------------------------------------------------------------*
*       Festgelegten Bereich im Tabellenblatt formatieren
*       mit Schriftfarbe, Schriftgöße, Hintergrundfarbe, ...
*----------------------------------------------------------------------*
  CALL METHOD OBJ_DOI_SPREADSHEET->SET_COLOR
    EXPORTING
      RANGENAME = 'Range_Budget'
      FRONT     = '-1' " Farbe der Schrift '-1' : Die Farbe wird nicht verändert
      BACK      = '-1' " Farbe des Hintergrunds
      NO_FLUSH  = ' '
    IMPORTING
      ERROR     = OBJ_ERROR
      RETCODE   = RETCODE.
  PERFORM FEHLERPRUEFUNG.

  CALL METHOD OBJ_DOI_SPREADSHEET->SET_FONT
    EXPORTING
      RANGENAME = 'Range_Budget'
      FAMILY    = 'Arial' " Schriftart. Bisher werden folgende Schriftarten angeboten: 'Arial', 'Courier New' und 'Times New Roman'
      SIZE      = '12'  " Schriftgröße
      BOLD      = '1' " fett
      ITALIC    = '0' " normal bzw. 1 = kursiv
      ALIGN     = '-1' " Ausrichtung:'-1' : keine Veränderung, '0' : rechtsbündig., '1' : zentriert. und '2' : linksbündig
      NO_FLUSH  = ' '
    IMPORTING
      ERROR     = OBJ_ERROR
      RETCODE   = RETCODE.
  PERFORM FEHLERPRUEFUNG.
Formatieren der 6. Zelle in Reihe 6, bzw. der range "Range_Haupt":

Code: Alles auswählen.

CALL METHOD OBJ_DOI_SPREADSHEET->INSERT_RANGE
    EXPORTING
      COLUMNS  = 1 " Spaltenanzahl
      ROWS     = 1 "1 " Zeilenanzahl
      NAME     = 'Range_Haupt' " 	Name des neuen Bereiches
      NO_FLUSH = ' '
    IMPORTING
      ERROR    = OBJ_ERROR
      RETCODE  = RETCODE.
  PERFORM FEHLERPRUEFUNG.

*----------------------------------------------------------------------*
*       Festgelegten Bereich im Tabellenblatt formatieren
*       mit Schriftfarbe, Schriftgöße, Hintergrundfarbe, ...
*----------------------------------------------------------------------*
  CALL METHOD OBJ_DOI_SPREADSHEET->SET_COLOR
    EXPORTING
      RANGENAME = 'Range_Haupt'
      FRONT     = '-1' " Farbe der Schrift '-1' : Die Farbe wird nicht verändert
      BACK      = '-1' " Farbe des Hintergrunds
      NO_FLUSH  = ' '
    IMPORTING
      ERROR     = OBJ_ERROR
      RETCODE   = RETCODE.
  PERFORM FEHLERPRUEFUNG.

  CALL METHOD OBJ_DOI_SPREADSHEET->SET_FONT
    EXPORTING
      RANGENAME = 'Range_Haupt'
      FAMILY    = 'Arial' " Schriftart. Bisher werden folgende Schriftarten angeboten: 'Arial', 'Courier New' und 'Times New Roman'
      SIZE      = '16'  " Schriftgröße
      BOLD      = '1' " fett
      ITALIC    = '0' " normal bzw. 1 = kursiv
      ALIGN     = '-1' " Ausrichtung:'-1' : keine Veränderung, '0' : rechtsbündig., '1' : zentriert. und '2' : linksbündig
      NO_FLUSH  = ' '
    IMPORTING
      ERROR     = OBJ_ERROR
      RETCODE   = RETCODE.
  PERFORM FEHLERPRUEFUNG.
Das Ergebnis ist als Dateianhang dabei.

Hat jemand eine Idee was falsch läuft?

Vielen Dank im Voraus.

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


Seite 1 von 1

Vergleichbare Themen

0
Antw.
1018
Views
Office Integration / Excel Blatt einlesen
von Nordlicht » 26.09.2006 13:24 • Verfasst in ABAP Objects®
9
Antw.
6773
Views
Office Desktop Integration mit Excel im SAP SolMan
von OnkelSAP » 22.04.2010 08:00 • Verfasst in Dialogprogrammierung
9
Antw.
4106
Views
Desktop Office Integration - Excel: Spalten ausblenden
von ralf.wenzel » 12.11.2012 12:27 • Verfasst in ABAP Objects®
0
Antw.
2618
Views
4
Antw.
3157
Views
Office Integration in SAP
von neuer Gast » 24.01.2006 11:40 • Verfasst in SAP - Allgemeines

Über diesen Beitrag

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

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 2 Stunden von DeathAndPain gelöst 22 / 2781
Daten an Tabelle binden
vor 7 Stunden von Lukas Sanders 2 / 863
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 417

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

Dialog-Container mit Toolbar/Status
vor 2 Stunden von DeathAndPain gelöst 22 / 2781
Daten an Tabelle binden
vor 7 Stunden von Lukas Sanders 2 / 863
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 417

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2454
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9040