fpspreadsheet - Kleinere Fragen

Rund um die LCL und andere Komponenten

Re: fpspreadsheet - Kleinere Fragen

Beitragvon af0815 » 27. Jun 2017, 10:55 Re: fpspreadsheet - Kleinere Fragen

Ist es korrekt, das man Kommentare (derzeit) nicht visuell bearbeiten kann ?

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3266
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: Win7/Linux (L stable FPC stable) per fpcup | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon wp_xyz » 27. Jun 2017, 11:41 Re: fpspreadsheet - Kleinere Fragen

Doch, in Spready sind das die gelblichen Notiz-Icons in der oberenToolbar links neben den drei Hyperlink-Erdkugeln. Programmtechnisch ist TsCellCommentAction für die Kommentare zuständig. Im Menü waren die drei Actions aber noch nicht eingetragen. Das habe ich jetzt nachgeholt, genauso für die Hyperlinks (--> Menü "Cell").
wp_xyz
 
Beiträge: 2280
Registriert: 8. Apr 2011, 08:01

Beitragvon af0815 » 24. Jul 2017, 12:42 Re: fpspreadsheet - Kleinere Fragen

Ich lade eine Spreadsheet von einem Template (Format sfExcel8) , mache ein paar Änderungen übers Programm und will dann das ganze wieder unter einen neuen Namen speichern (auch Format sfExcel8).

Nur bekomme ich plötzlich folgende Meldung:
fpspreadsheet02.JPG


Die erzeugte Datei sieht aber ok (in OOffice) aus.

Frage:
a) Kann es sein, das beim Suchen/Ersetzen die Anzahl der Row/Coloums geändert wird ?
b) Welche Möglichkeiten habe ich, die Meldung zu vermeiden ?

Andreas
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3266
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: Win7/Linux (L stable FPC stable) per fpcup | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon wp_xyz » 24. Jul 2017, 13:19 Re: fpspreadsheet - Kleinere Fragen

Dazu müsste ich genauer wissen, was du konkret machst. Bitte ein Mini-Projekt posten, in dem ich das Problem nachvollziehen kann.

Generell unterstützt FPSpreadsheet beliebig viele Spalten, Zeilen und Farben. Wenn das Worksheet aber in einer Datei gespeichert wird, müssen die Einschränkungen des jeweiligen Dateiformats beachtet werden. So kommt es ggfs. zu der genannten Fehlermeldung - wobei das programmintern nur eine Warnung ist, um den Benutzer darauf hinzuweisen, dass möglicherweise etwas falsch gespeichert wurde. Könnte es sein, dass die Datei vorher irgendwie in Libre/OpenOffice war? Hier hat Calc das Problem, dass beim Importieren von Excel-Dateien der volle Range an Spalten und Zeilen angelegt wird.
wp_xyz
 
Beiträge: 2280
Registriert: 8. Apr 2011, 08:01

Beitragvon af0815 » 24. Jul 2017, 13:49 Re: fpspreadsheet - Kleinere Fragen

wp_xyz hat geschrieben:Bitte ein Mini-Projekt posten

Bin gerade dabei das auf das nötigste zusammenzustreichen. Benötigt aber fgl (dh. fpc 3.1.x). Weil es kann sein, das da ein paar grundlegende Fragen mehr gibt :-)

wp_xyz hat geschrieben:Könnte es sein, dass die Datei vorher irgendwie in Libre/OpenOffice war? Hier hat Calc das Problem, dass beim Importieren von Excel-Dateien der volle Range an Spalten und Zeilen angelegt wird.

Die (Vorlage) Datei ist ganz sicher in LibreOffice als xlsx erstellt worden. Beim Laden gibt es keine Probleme, nur beim speichern.

Wie komme ich von der Workbooksource zum richtigen writer (oder reader) ? Irgendwie ist mir da noch nicht der große Durchblick gekommen ?

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3266
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: Win7/Linux (L stable FPC stable) per fpcup | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon wp_xyz » 24. Jul 2017, 14:10 Re: fpspreadsheet - Kleinere Fragen

af0815 hat geschrieben:Wie komme ich von der Workbooksource zum richtigen writer (oder reader) ? Irgendwie ist mir da noch nicht der große Durchblick gekommen ?

Über den Format-Parameter, der beim Laden/Speichern angegeben ist, bzw. über die Dateiendung. Bei WorkbookSource ist das die Property "FileFormat". Das Workbook, das letzendlich das Lesen/Schreiben erledigt, erzeugt sich den Reader/Writer entsprechend dem Format-Parameter:

Workbook.ReadFromFile(..., AFormatID,...) ---> CreateSpreadReader(... AFormatID) --> reader := GetSpreadReaderClass(AFormatID).Create

Wobei das mit dem Format-Parameter im Detail etwas schwieriger ist. Zunächst gab es nur die hartkodierten SpreadsheetFormat-Werte vom Typ TsSpreadsheetFormat, wie sfExcel8 oder sfOpenDocument. Später habe ich das etwas aufgeweicht, um benutzerdefinierte Formate zu ermöglichen. Dies führte zur FormatID, die beim Registrieren des Reader/Writers vergeben wird; diese Formate haben die SpreadsheetFormat-Wert sfUser. Solange du keine eigenen Reader/Writer schreibst, ist der Unterschied aber egal.
wp_xyz
 
Beiträge: 2280
Registriert: 8. Apr 2011, 08:01

Beitragvon af0815 » 24. Jul 2017, 14:35 Re: fpspreadsheet - Kleinere Fragen

Hier ein kleines Beispiel:

Es kann
-> Mehrere erweiterte WorkBookSourcen halten
-> AUs einem Template laden
-> Text ersetzen
-> DIe Workbooksourcen mit einem TabSheet umschalten
-> Die WorkBookSourcen speichern

Das ganze ist der abgespeckte Workflow, wenn man Excel-Sheets für Reports in Lazarus einsetzen will. Das Beispiel ist natürlich stark zusammengeschrumpft. Das Problem aber schön ersichtlich, wenn man dann 'Save XLSX' verwendet. FPC trunk ist aber notwendig wegen der fgl.

Andreas
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3266
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: Win7/Linux (L stable FPC stable) per fpcup | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon wp_xyz » 24. Jul 2017, 16:31 Re: fpspreadsheet - Kleinere Fragen

Probier mal r5987. Ein seltsamer Fehler ist, dass trotz maximaler Spaltenzahl 256 als letzter Spaltenindex der Wert 256 in den COLINFO-Record geschrieben wird - das macht nicht nur OpenOffice, sondern auch Excel so! Auch das mit der Palettengröße macht nun keinen Fehler mehr.

Du hast in dem Programm noch das Problem, dass du die Dateien zwar als Format sfExcel8 liest/schreibst, aber im Dateinamen die Endung .xlsx angibst - richtig wäre .xls. Als Folge kann Excel die Datei nicht lesen, was mich anfangs etwas verwirrt hat.
wp_xyz
 
Beiträge: 2280
Registriert: 8. Apr 2011, 08:01

Beitragvon af0815 » 24. Jul 2017, 18:21 Re: fpspreadsheet - Kleinere Fragen

wp_xyz hat geschrieben:Probier mal r5987.

Gestest, ist Ok. Habe mir auch die Änderungen angesehen, Hut ab, fpspreadsheet entwickelt sich immer mehr zu einer Hydra für mich :-) Ein paar Köpfe hättest du ja schon abgeschlagen.

wp_xyz hat geschrieben:Du hast in dem Programm noch das Problem, dass du die Dateien zwar als Format sfExcel8 liest/schreibst, aber im Dateinamen die Endung .xlsx angibst - richtig wäre .xls.

Gibt es eine Übersicht, welches Format was ist (zu Excel und OO) ?

Danke
Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3266
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: Win7/Linux (L stable FPC stable) per fpcup | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon wp_xyz » 24. Jul 2017, 18:37 Re: fpspreadsheet - Kleinere Fragen

af0815 hat geschrieben:Gibt es eine Übersicht, welches Format was ist (zu Excel und OO) ?

http://wiki.lazarus.freepascal.org/FPSp ... t#Workbook
wp_xyz
 
Beiträge: 2280
Registriert: 8. Apr 2011, 08:01

Beitragvon af0815 » 24. Jul 2017, 18:54 Re: fpspreadsheet - Kleinere Fragen

Danke, jetzt habe ich es gefunden, steht ein wenig tiefer
Code: Alles auswählen
*) *.xls  =  xlsbiff2, xlsbiff5 and xlsbiff8 for the binary xls file formats sfExcel2, sfExcel5 and sfExcel8, respectively,
*) *.xlsx =  xlsOOXML for the xlsx file format sfOOXML of Excel 2007 and later,

wenn man die Extension ein wenig herauszieht, so findet man es leichter, ich habe es echt Überlesen/Ignoriert.

Nochmals Danke

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3266
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: Win7/Linux (L stable FPC stable) per fpcup | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon af0815 » 25. Jul 2017, 07:32 Re: fpspreadsheet - Kleinere Fragen

Ich werde den Fehler/Hinweis nicht ganze nicht los :-)
fpspreadsheet03.JPG

OO/LibreOffice verursacht da scheinbar einige Probleme.

Edit: Diesmal war das Ausgangsformat Microsoft Excel 2007-2013 XML (*.xlsx)

Andreas
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3266
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: Win7/Linux (L stable FPC stable) per fpcup | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon wp_xyz » 25. Jul 2017, 09:09 Re: fpspreadsheet - Kleinere Fragen

Nochmals zum Verständnis: Du hast mit OpenOffice eine xlsx-Datei erstellt, die als Template per "Init"-Button in dein Demoprogramm geladen wird? Du speicherst dann als xls-Datei? Die Fehlermeldung kommt von deinem Programm? Kannst du die Template-xlsx-Datei posten?
wp_xyz
 
Beiträge: 2280
Registriert: 8. Apr 2011, 08:01

Beitragvon af0815 » 25. Jul 2017, 10:07 Re: fpspreadsheet - Kleinere Fragen

Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3266
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: Win7/Linux (L stable FPC stable) per fpcup | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon wp_xyz » 25. Jul 2017, 10:47 Re: fpspreadsheet - Kleinere Fragen

Mit r5988 müsste das weg sein. Problem war, dass Excel und LO/OO bei einem leeren Worksheet den Wert 'A1' in den Dimension-Record schreiben (im Gegensatz zu z.B. 'A1:K10' bei einem Sheet, das Zellen zwischen A1 und K10 enthält). Der xlsx-Reader hat aber angenommen, dass immer ein gültiger Zell-Block (mit ':') ankommt und dabei das boolsche Ergebnis der Funktion ParseCellRangeString() nicht abgefragt - alles in allem: viele dumme Fehler...
wp_xyz
 
Beiträge: 2280
Registriert: 8. Apr 2011, 08:01

» Weitere Beiträge siehe nächste Seite »
VorherigeNächste

Zurück zu Komponenten und Packages



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried