fpspreadsheet

Rund um die LCL und andere Komponenten
Antworten
alwin4711
Beiträge: 2
Registriert: Mi 27. Aug 2014, 16:35

fpspreadsheet

Beitrag von alwin4711 »

Ich sag mal "Hallo" in die Runde.

Ich versuche mich gerade mit fpspreadsheet und habe da ein Verständisproblen....

Ich Benutze die Visuelle Komponent WorksheetGrid und finde keinen Weg etwas in die zellen zu schreiben (also mit WriteNumber z.B.)

Ich habe gelesen das es ein WorkBook gibt und das darin dann WorkSheets liegen.
Also wie es in der Doku beschrieben is ...

var
MyWorkbook: TsWorkbook;
MyWorksheet: TsWorksheet;
.....

MyWorkbook := TsWorkbook.create;
MyWorksheet := MyWorkbook.AddWorksheet('My Worksheet');

Wie wird denn nun das visuelle WorksheetGrid zugeordnet ???

also

WorksheetGrid.writeNumber(0,0,1.9); geht irgendwie nicht.

Beste Grüße
Alwin

Benutzeravatar
theo
Beiträge: 11325
Registriert: Mo 11. Sep 2006, 19:01

Re: fpspreadsheet

Beitrag von theo »

Ich frage mich immer, was ihr überlegt.
Ich habe keine Ahnung von der Komponente, noch nie gesehen.
Habe sie von SVN gezogen und 2 Minuten das Bsp. in /fpspreadsheet/examples/fpsgrid/ angeschaut.
Nach den 2 Minuten habe ich dann das probiert:

Code: Alles auswählen

  WorksheetGrid.Worksheet.WriteCellValueAsString(3,3,'TEST');     
Und es schreibt Werte in die Zellen.

wp_xyz
Beiträge: 5441
Registriert: Fr 8. Apr 2011, 09:01

Re: fpspreadsheet

Beitrag von wp_xyz »

Wenn du nur eine Spreadsheet-Datei erzeugen willst, brauchst du das Grid überhaupt nicht. Wie im wiki beschrieben, muss zu zuerst ein "Workbook" erzeugen, dann ein "Worksheet". In den Zellen des Worksheet kannst du dann die Werte ablegen:

Code: Alles auswählen

 
var
  workbook: TsWorkbook;
  worksheet: TsWorksheet;
begin
  workbook := TsWorkbook.Create;
  try
    worksheet := workbook.AddWorksheet('Tabelle1');
    worksheet.WriteNumber(0, 0, 115);  // 0, 0 --> Zelle A1 mit dem Wert 115 beschreiben
   // usw
   workbook.SaveToFile(Filename, sfExcel8);  // sfExcel8 oder ein anderes TsSpreadsheetFormat
  finally
    workbook.Free;
  end;
end;
 
Das WorksheetGrid ist primär dafür gedacht, Daten anzuzeigen, weniger ein Spreadsheet zu erzeugen. Es kommen zwar immer mehr Funktionen in diese Richtung dazu, aber das kann hier und da noch Probleme geben. An das hinter dem Grid liegende Workbook kommst du über die Eigenschaft Workbook, entsprechend über Worksheet über das gerade angezeigte Sheet. Dein Code müsste also folgendermaßen funktionieren:

Code: Alles auswählen

 
WorksheetGrid.Worksheet.writeNumber(0,0,1.9); 
 
Beachte aber, dass du zuerst ein leeres Workbook erzeugen musst (WorksheetGrid.NewWorkbook) oder eine existierende Datei ins Grid laden musst (WorksheetGrid.LoadfromFile). Wenn du das Option-Flag goEditing im Grid aktivierst (WorksheetGrid.Options := WorksheetGrid.Options + [goEditing];) dann kannst du die Werte direkt ins Grid eintippen.

alwin4711
Beiträge: 2
Registriert: Mi 27. Aug 2014, 16:35

Re: fpspreadsheet

Beitrag von alwin4711 »

Vielen Dank,
läuft wunderbar.

Herzliche Grüße
Alwin

wajahat30
Beiträge: 1
Registriert: Fr 19. Sep 2014, 07:50

Re: fpspreadsheet

Beitrag von wajahat30 »

Ich versuche mich gerade mit fpspreadsheet und habe da ein Verständisproblen.... :P


Worried about 300-101 exam & comptia network+ security+ practice test We offer up-to-dated ccna wireless pdf - pass4-sure practice questions and www.smith.edu dumps with Maryland Institute College of Art exam pass guarantee of icnd Boston College
Zuletzt geändert von wajahat30 am Mo 9. Feb 2015, 06:36, insgesamt 2-mal geändert.

wp_xyz
Beiträge: 5441
Registriert: Fr 8. Apr 2011, 09:01

Re: fpspreadsheet

Beitrag von wp_xyz »

habe da ein Verständisproblen....
Ich auch...

Antworten