AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

OpenOffice.org Writer - Stringgrid

Ein Thema von Steven2 · begonnen am 12. Mär 2012 · letzter Beitrag vom 14. Mär 2012
Antwort Antwort
Seite 1 von 2  1 2      
Steven2

Registriert seit: 17. Nov 2006
94 Beiträge
 
Delphi 11 Alexandria
 
#1

OpenOffice.org Writer - Stringgrid

  Alt 12. Mär 2012, 12:57
Hallo,

möchte den Inhalt eines Stringgrids in OpenOffice.org Writer einfügen.
Ich habe folgendes Beipiel gefunden welches eine Tabelle in einem Writer Dokument erzeugt.
Kann mir jemand weiter helfen?
Grüße
Steven

Delphi-Quellcode:
procedure TfmMain.btMainTestClick(Sender: TObject);
var
  V:variant;
  x,y:integer;
begin
  OW.PageStyles[0].HeaderIsOn:=true;
  OW.PageStyles[0].ModelCursor[owhHeader].Text:='Test header '#13'line2';
  OW.PageStyles[0].ModelCursor[owhHeader].Font.Posture:=ofpItalic;
  OW.PageStyles[0].ModelCursor[owhHeader].Para.HoriAlignment:=ophCenter;
  OW.PageStyles[0].ModelCursor[owhHeader].CollapseToEnd;
  OW.PageStyles[0].ModelCursor[owhHeader].Text:='Page ';
  OW.PageStyles[0].ModelCursor[owhHeader].CollapseToEnd;
  OW.PageStyles[0].ModelCursor[owhHeader].InsertPageNumber;
  OW.PageStyles[0].ModelCursor[owhHeader].Text:=' of ';
  OW.PageStyles[0].ModelCursor[owhHeader].CollapseToEnd;
  OW.PageStyles[0].ModelCursor[owhHeader].InsertPageCount;

  OW.PageStyles[0].HeaderBottomBorder:=BLine(clRed,0,30,0);
  OW.PageStyles[0].HeaderTopBorder:=BLine(clBlue,0,30,0);
  OW.Tables.Insert(5,9,'',OW.ViewCursor);
  OW.Tables[0].CellByName['A1'].AsText:='Test';
  OW.Tables[0].CellByName['A2'].AsNumber:=12.5678;
  OW.Tables[0].CellByName['A4'].AsDate:=Now;
  OW.Tables[0].CellByName['A4'].Format:=OW.NumberFormats.Add('DD.MM.YYYY');
  OW.Tables[0].CellByName['A4'].BackColor:=clSilver;

  V:=VarArrayCreate([1,3,1,2],VarVariant);
  for x:=1 to 3 do
    for y:=1 to 2 do
      V[x,y]:=IntToStr(x*y+1);
  OW.Tables[0].CellRange[0,1,2,2].Para.HoriAlignment:=ophCenter;

  OW.Tables[0].CellRange[0,1,2,2].Para.Margin.Top:=500;
  OW.Tables[0].CellRange[0,1,2,2].Para.Margin.Left:=500;
  OW.Tables[0].CellRange[0,1,2,2].Para.Margin.Right:=500;
  OW.Tables[0].CellRange[0,1,2,2].Para.Margin.Bottom:=500;

  OW.ViewCursor.GotoEnd(false);
  OW.ViewCursor.Font.FontName:='Times New Roman';
  OW.ViewCursor.Font.Height:=12;
  OW.ViewCursor.Para.FirstLineIndent:=1000;
  OW.ViewCursor.Para.HoriAlignment:=ophLeft;
  OW.ViewCursor.Text:='Çàäà÷à - â ïðîãðàììå íà D7 ôîðìèðóåòñÿ ïðàéñ-ëèñò.'+#13+
                  'Ðàíåå ÿ âûâîäèë åãî â DBF, îòêðûâàë Excel-åì, è òàì ìàêðîñîì ôîðìàòèðîâàë êàê íàäî.'+#13;
  OW.ViewCursor.CollapseToEnd;
  OW.ViewCursor.Para.LineSpacing:=LSpacing(olsProp,150);
  OW.ViewCursor.Para.DropCapFormat:=DCFormat(2,1,1);
  OW.ViewCursor.Text:='Ïîòîì ÷òî áû íå ñâÿçûâàòüñÿ ñ ìàêðîñàìè (íó íå ïåðåâàðèâàþ ÿ ýòèì îáúåêòû ýêñåëÿ) '+
                  'ñòàë äåëàòü òàê - âûâîæó â html ñ ôîðìàòèðîâàíèåì è îòêðûâàþ åãî Excel-åì. Äàæå ôîðìóëû ðàáîòàþò.';
  OW.ViewCursor.GotoEnd(false);
  OW.Tables.Insert(3,35,'',OW.ViewCursor);
  OW.Tables[1].HoriOrient:=ofhoLeft;
  OW.Tables[1].Width:=12000;
  OW.Tables[1].RepeatHeadline:=true;
  OW.Tables[1].HeaderRowCount:=2;
  OW.Tables[1].Rows[0].BackColor:=clGreen;
  OW.Tables[1].Rows[0].AutoHeight:=false;
  OW.Tables[1].Rows[0].Height:=2000;
  OW.Tables[1].Cell[0,0].AsText:='String1';
  OW.Tables[1].Cell[1,0].AsText:='String2'+#13+'String3';
  OW.Tables[1].Cell[0,1].AsText:='1';
  OW.Tables[1].Cell[1,1].AsText:='2';
  OW.Tables[1].Cell[2,1].AsText:='3';
  OW.Tables[1].CellRange[0,1,2,1].Para.HoriAlignment:=ophCenter;
  OW.Tables[1].Cell[0,0].VertAlignment:=ofvoCenter;
  OW.Tables[1].Cell[0,0].Font.Posture:=ofpItalic;
  OW.Tables[1].Cell[0,0].Font.Weight:=ofwBold;
  OW.Tables[1].Cell[0,0].Font.Underline:=ofuDoubleWave;
// ShowMessage('Page count = '+IntToStr(OW.PageCount));
  OW.ViewCursor.GotoEnd(false);
  OW.ViewCursor.Para.BreakType:=obtPageBefore;
  OW.ViewCursor.Text:='Test 3 page';
  OW.ViewCursor.CollapseToEnd;
  OW.ModelCursor.SyncFrom(OW.ViewCursor);
end;
  Mit Zitat antworten Zitat
Benutzerbild von Coffeecoder
Coffeecoder

Registriert seit: 27. Apr 2011
242 Beiträge
 
Delphi 6 Enterprise
 
#2

AW: OpenOffice.org Writer - Stringgrid

  Alt 12. Mär 2012, 14:04

Delphi-Quellcode:
....
  OW.Tables[1].Cell[0,0].AsText:= Stringgrid.cells[0,0] // <--------
  OW.Tables[1].Cell[1,0].AsText:=Stringgrid.cells[1,0]// <--------
....
Hi,
Hast du das mal versucht?
Coffeecoder
  Mit Zitat antworten Zitat
Steven2

Registriert seit: 17. Nov 2006
94 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: OpenOffice.org Writer - Stringgrid

  Alt 12. Mär 2012, 14:53
Hallo Coffeecoder,

danke für deine Antwort.
Klappt irgendwie nicht.
Mit Word und einen Stringgrid sieht es so aus:

Delphi-Quellcode:
     for iGridRows := 1 to iRows do
      begin
        for jGridCols := 1 to iCols do
        begin
          WordTable.Cell(iGridRows, jGridCols).Range.Text := StringGrid2.Cells[jGridCols - 1, igridRows - 1];
        end;
      end;
[DELPHI]

So habe ich es gerade:

Delphi-Quellcode:
 for iGridRows := 1 to iRows do
      begin
        for jGridCols := 1 to iCols do
        begin
            OW.Tables[1].Cell[0,0].AsText:= advStringgrid1.cells[0,0]; // <--------
            OW.Tables[1].Cell[1,0].AsText:=advStringgrid1.cells[1,0];// <--------
           end;
        end;
  Mit Zitat antworten Zitat
Benutzerbild von Coffeecoder
Coffeecoder

Registriert seit: 27. Apr 2011
242 Beiträge
 
Delphi 6 Enterprise
 
#4

AW: OpenOffice.org Writer - Stringgrid

  Alt 12. Mär 2012, 15:03

So habe ich es gerade:

Delphi-Quellcode:
 for iGridRows := 1 to iRows do
      begin
        for jGridCols := 1 to iCols do
        begin
            OW.Tables[1].Cell[0,0].AsText:= advStringgrid1.cells[0,0]; // <--------
            OW.Tables[1].Cell[1,0].AsText:=advStringgrid1.cells[1,0];// <--------
           end;
        end;
Dann nur noch anpassen, ich weiss nicht genau in welche Zeilen du alles einfügen willst. Dies ist nur ein Beispiel:
Delphi-Quellcode:
for iGridRows := 1 to iRows do
      begin
        for jGridCols := 1 to iCols do
        begin
            OW.Tables[1].Cell[iGridRows,jGridCols].AsText:= advStringgrid1.cells[iGridRows,jGridCols];
           end;
end;
Hallo Coffeecoder,

danke für deine Antwort.
Klappt irgendwie nicht.
Kriegst du eine Fehlermeldung? Wenn ja, welche?
Sonst beschreibe mal bitte genauer was nicht geht
Coffeecoder
  Mit Zitat antworten Zitat
Steven2

Registriert seit: 17. Nov 2006
94 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: OpenOffice.org Writer - Stringgrid

  Alt 12. Mär 2012, 19:50
Diese Fehlermeldung:
Code:
---------------------------
Openofficetest
---------------------------
com.sun.star.lang.IndexOutOfBoundsException:.
---------------------------
OK  
---------------------------
oder
diese:

Code:
---------------------------
Openofficetest
---------------------------
Ungültige Variantenoperation.
---------------------------
OK  
---------------------------
  Mit Zitat antworten Zitat
Benutzerbild von Coffeecoder
Coffeecoder

Registriert seit: 27. Apr 2011
242 Beiträge
 
Delphi 6 Enterprise
 
#6

AW: OpenOffice.org Writer - Stringgrid

  Alt 12. Mär 2012, 20:29
Diese Fehlermeldung:
Code:
---------------------------
Openofficetest
---------------------------
com.sun.star.lang.IndexOutOfBoundsException:.
---------------------------
OK  
---------------------------
Das liegt daran, so sollte es besser sein:

Delphi-Quellcode:
for iGridRows := 1 to iRows do
      begin
        for jGridCols := 1 to iCols do
        begin
            OW.Tables[1].Cell[iGridRows,jGridCols].AsText:= advStringgrid1.cells[iGridRows-1,jGridCols-1];
           end;
end;

oder
diese:
Code:
---------------------------
Openofficetest
---------------------------
Ungültige Variantenoperation.
---------------------------
OK  
---------------------------
In welcher Zeile taucht dieser Fehler auf?
Coffeecoder
  Mit Zitat antworten Zitat
Steven2

Registriert seit: 17. Nov 2006
94 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: OpenOffice.org Writer - Stringgrid

  Alt 12. Mär 2012, 22:00
irgendwie finde ich die Zeile nicht, ich suche noch.
Das klappt damit auch nicht.

Delphi-Quellcode:
 for iGridRows := 1 to iRows do
     begin
        for jGridCols := 1 to iCols do
        begin
            OW.Tables[1].Cell[iGridRows,jGridCols].AsText:= advStringgrid1.cells[iGridRows-1,jGridCols-1];
           end;
end;
Soll ich mal ein Beispiel fertig machen und hier anhängen?
  Mit Zitat antworten Zitat
Benutzerbild von Coffeecoder
Coffeecoder

Registriert seit: 27. Apr 2011
242 Beiträge
 
Delphi 6 Enterprise
 
#8

AW: OpenOffice.org Writer - Stringgrid

  Alt 13. Mär 2012, 08:19
irgendwie finde ich die Zeile nicht, ich suche noch.
Das klappt damit auch nicht.

Delphi-Quellcode:
 for iGridRows := 1 to iRows do
     begin
        for jGridCols := 1 to iCols do
        begin
            OW.Tables[1].Cell[iGridRows,jGridCols].AsText:= advStringgrid1.cells[iGridRows-1,jGridCols-1];
           end;
end;
Soll ich mal ein Beispiel fertig machen und hier anhängen?
Jo bitte
Coffeecoder
  Mit Zitat antworten Zitat
Steven2

Registriert seit: 17. Nov 2006
94 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: OpenOffice.org Writer - Stringgrid

  Alt 13. Mär 2012, 09:52
Kann ich die Stringgridkomponente von TMS nehmen?
Oder soll ich in dem Beispiel ein einfaches Stringgrid nehmen?
  Mit Zitat antworten Zitat
Steven2

Registriert seit: 17. Nov 2006
94 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: OpenOffice.org Writer - Stringgrid

  Alt 13. Mär 2012, 10:01
Hab jetzt mal ein Beispiel mit dem TMS Stringgrid

Der Fehler ist hier:
Zitat:
Zeile 5209
FTable.TableObj:=FDocument.GetTextTables.GetByInde x(Index);
in der uOpenOffice.pas
Angehängte Dateien
Dateityp: zip beispiel.zip (1,02 MB, 4x aufgerufen)

Geändert von Steven2 (13. Mär 2012 um 10:10 Uhr) Grund: Schreibfehler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz