[gelöst] laz_fpspreadsheet wirft rsUnsupportedWriteFormat

Rund um die LCL und andere Komponenten

[gelöst] laz_fpspreadsheet wirft rsUnsupportedWriteFormat

Beitragvon Michl » 18. Aug 2017, 19:06 [gelöst] laz_fpspreadsheet wirft rsUnsupportedWriteFormat

Hallo,

ich habe mir einen Excel-Exporter gebaut. In einer Anwendung läuft dieser super. Nun habe ich mir den Quelltext in eine andere Anwendung kopiert, die Abhängigkeit laz_fpspreadsheet per ProjectInspector hinzugefügt und die Anwendung gestartet. Sie wird kompiliert, doch beim Speichern wird die Exception rsUnsupportedWriteFormat geworfen. Scheinbar fehlt mir eine Abhängigkeit. Da das andere Projekt mehrere Dutzend Abhängigkeiten hat, wollte ich hier fragen, ob jemand weiß welche oder woran es sonst liegen könnte?

Ich habe das Problem in einem einfachen Test nachgebaut (nochmals im Ausgangsprojekt getestet, dort läuft es):
Code: Alles auswählen
uses ..., fpspreadsheet, fpsTypes;
...
procedure TForm1.Button1Click(Sender: TObject);
var
  Workbook: TsWorkbook;
  Worksheet: TsWorksheet;
begin
  Workbook := TsWorkbook.Create;
  try
    Worksheet := Workbook.AddWorksheet('Tests');
    Worksheet.WriteColWidth(0, 5, suChars);
    Worksheet.WriteText(0, 0, 'Test');
    Workbook.WriteToFile(Application.Location + 'test.xls', sfExcel8, true);
  finally
    Workbook.Free;
  end;
end;

Auch als Projekt anbei.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Michl am 18. Aug 2017, 21:12, insgesamt 1-mal geändert.
Code: Alles auswählen
type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 
Michl
 
Beiträge: 2191
Registriert: 19. Jun 2012, 11:54
OS, Lazarus, FPC: Win7 Laz 1.7 Trunk FPC 3.1.1 Trunk | 
CPU-Target: 32Bit/64bit
Nach oben

Beitragvon Mathias » 18. Aug 2017, 20:06 Re: laz_fpspreadsheet wirft rsUnsupportedWriteFormat

Ich habe mir gerade diese Komponente installiert.
Mit ein bisschen rum pröbeln, hat es bei Lazarus einen neuen Reiter "Data Export" gegeben. Neu fehlt dort eine Komponente Namens XLS, einzig was mich an Excel erinnert, ist CSV.
Seit ich den CSVExporter auf das Form gelegt habe, startet dein Poject wenigsten ohne Fehler, aber speicher geht wie bei dir auch nicht.

Vielleicht hilft die diese Info weiter.

Ansonsten sieht diese Komponente recht interessant aus. :wink:
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3262
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Michl » 18. Aug 2017, 20:13 Re: laz_fpspreadsheet wirft rsUnsupportedWriteFormat

Naja eigentlich geht die Procedure genau so in dem anderen Projekt. Ich habe per Copy&Paste exakt den selben Code dort eingefügt. Aber danke fürs testen. Werde, wenn wp nicht weiter weiß, wohl das Projekt reduzieren und schauen, was die Ursache ist.
Code: Alles auswählen
type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 
Michl
 
Beiträge: 2191
Registriert: 19. Jun 2012, 11:54
OS, Lazarus, FPC: Win7 Laz 1.7 Trunk FPC 3.1.1 Trunk | 
CPU-Target: 32Bit/64bit
Nach oben

Beitragvon Mathias » 18. Aug 2017, 20:24 Re: laz_fpspreadsheet wirft rsUnsupportedWriteFormat

Fehler gefunden:
Du musst noch folgende Unit einbinden: xlsbiff8

PS: Die Komponente scheint wirklich noch recht interessant zu sein. Ein Excel-Export, ist sicher mal was nützliches. :wink:
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3262
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon wp_xyz » 18. Aug 2017, 20:29 Re: laz_fpspreadsheet wirft rsUnsupportedWriteFormat

"Unsupported Write Format" kommt wenn fpspreadsheet den Writer für das gewünschte Dateiformat nicht findet. Du musst dazu die betreffende Unit in Uses aufnehmen, oder gleich fpsAllFormats für alle unterstützten Dateiformate (wodurch dann aber auch der Code für unnötige Dateiformate ins Programm aufgenommen wird): http://wiki.lazarus.freepascal.org/FPSp ... t#Workbook (am Ende des Abschnitts bei "Note").
wp_xyz
 
Beiträge: 2280
Registriert: 8. Apr 2011, 08:01

Beitragvon Michl » 18. Aug 2017, 20:33 Re: laz_fpspreadsheet wirft rsUnsupportedWriteFormat

Danke, damit funktioniert es! :)

Merkwürdig, in dem anderen Projekt habe ich nirgends diese Units eingebunden, weder xlsbiff8, noch fpsAllFormats.
Code: Alles auswählen
type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 
Michl
 
Beiträge: 2191
Registriert: 19. Jun 2012, 11:54
OS, Lazarus, FPC: Win7 Laz 1.7 Trunk FPC 3.1.1 Trunk | 
CPU-Target: 32Bit/64bit
Nach oben

Beitragvon Mathias » 18. Aug 2017, 20:36 Re: laz_fpspreadsheet wirft rsUnsupportedWriteFormat

Ich habe es bei den Examples gesehen.

./lazarus-ccr-svn-6004/components/fpspreadsheet/examples/read_write/excel8demo

Merkwürdig, in dem anderen Projekt habe ich nirgends diese Units eingebunden,

Vielleicht wurde diese bei dir mit einer anderen Unit im Hintergrund eingebunden.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3262
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon af0815 » 18. Aug 2017, 20:45 Re: laz_fpspreadsheet wirft rsUnsupportedWriteFormat

Ich glaube, da muss ein jeder durch, der mit laz_fpspreadsheet arbeitet :-)

ich nehme schon fast reflexartig fpsAllFormats in die uses auf.

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 Mathias » 18. Aug 2017, 20:49 Re: laz_fpspreadsheet wirft rsUnsupportedWriteFormat

ich nehme schon fast reflexartig fpsAllFormats in die uses auf.

Gute Idee, dort wird alles nötige eingebunden. Vielleicht hat Michel diese Unit bei seinem alten Programm auch eingebunden.
Code: Alles auswählen
uses
  xlsbiff2, xlsbiff5, xlsbiff8, xlsxooxml, xlsxml, fpsopendocument, fpscsv,
  fpshtml, wikitable;
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3262
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Michl » 18. Aug 2017, 21:12 Re: laz_fpspreadsheet wirft rsUnsupportedWriteFormat

Aha, habe den Unterschied jetzt doch noch entdeckt. In dem Projekt, was funktionierte, hatte ich in der .lpr in der Uses Klausel "laz_fpspreadsheet" stehen. Damit hat es funktioniert. Wie es dahin kam, ist mir entfallen.

Danke nochmal an alle!
Code: Alles auswählen
type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 
Michl
 
Beiträge: 2191
Registriert: 19. Jun 2012, 11:54
OS, Lazarus, FPC: Win7 Laz 1.7 Trunk FPC 3.1.1 Trunk | 
CPU-Target: 32Bit/64bit
Nach oben

Beitragvon wp_xyz » 18. Aug 2017, 21:12 Re: laz_fpspreadsheet wirft rsUnsupportedWriteFormat

Michl hat geschrieben:Merkwürdig, in dem anderen Projekt habe ich nirgends diese Units eingebunden, weder xlsbiff8, noch fpsAllFormats.

Welches FPSpreadsheet hast du? Im Trunk habe ich das vor nicht allzulanger Zeit geändert (r5957, 24.Juni), weil fpsAllFormats irgendwo erwähnt war. Das würde zwar dieses Problem verhindern, aber auch den Benutzer zwingen, alle Formate mitzuschleppen, auch wenn er sie nicht benötigt - leider gibt es kein "un-uses". Daher habe ich es rausgenommen. Ja, Andreas hat recht, da muss jeder durch (oder das wiki lesen).
wp_xyz
 
Beiträge: 2280
Registriert: 8. Apr 2011, 08:01

Beitragvon Michl » 18. Aug 2017, 21:43 Re: [gelöst] laz_fpspreadsheet wirft rsUnsupportedWriteForma

fpspreadsheet steht bei revision 5965. Ich kann ja trotzdem mal updaten :wink:
Code: Alles auswählen
type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 
Michl
 
Beiträge: 2191
Registriert: 19. Jun 2012, 11:54
OS, Lazarus, FPC: Win7 Laz 1.7 Trunk FPC 3.1.1 Trunk | 
CPU-Target: 32Bit/64bit
Nach oben

Beitragvon Mathias » 18. Aug 2017, 21:48 Re: [gelöst] laz_fpspreadsheet wirft rsUnsupportedWriteForma

Ich habe mit 6004 anscheinend noch eine neuere erwischt.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3262
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon wp_xyz » 18. Aug 2017, 22:04 Re: [gelöst] laz_fpspreadsheet wirft rsUnsupportedWriteForma

6004? Wo hast du die denn her? Die letzte Revision im ccr-svn ist 5993 vom 10.August.
wp_xyz
 
Beiträge: 2280
Registriert: 8. Apr 2011, 08:01

Beitragvon Mathias » 18. Aug 2017, 22:19 Re: [gelöst] laz_fpspreadsheet wirft rsUnsupportedWriteForma

Google hat mir diese gegeben, ich werde morgen auf dem PC gucken, dort müsste der Link noch vorhanden sein.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3262
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

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

Zurück zu Komponenten und Packages



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

porpoises-institution
accuracy-worried