2009-05-14 10 views
2

Wie würden Sie TRichedit Text in eine Excel-Datei speichern?Delphi speichern Richedit als Excel

Ich habe die Daten mit der vertikalen Registerkarte # 9 begrenzt und wenn ich es in .xls zu speichern, öffnet es, aber ich möchte die Benutzer die Mühe speichern, es wieder als Excel nach dem Öffnen speichern.

Danke, Dave Albert

Antwort

2

Es gibt eine Reihe von Möglichkeiten, dies zu tun. Ihre Frage ist nicht sehr präzise, ​​mit welcher Art von Daten Sie arbeiten, daher sollten Sie beachten, dass es in Excel (insbesondere auf Basis der Excel-Version) Einschränkungen für die Anzeige umfangreicher RichEdit-Daten geben kann, sofern Sie kein Textfeld verwenden. Da Sie dann sagen, dass Sie die Daten getrennt haben, gehe ich davon aus, dass dies eine tabellenartige Struktur ist und keine Bilder und ähnliches enthält. Nach dieser Annahme könnten Sie verwenden:

  • OpenOffice als eine Lösung wie Skamradt erwähnt. Sie sollten beachten, dass es sich nicht um ActiveX handelt und IMO eine schlecht dokumentierte OLE-Schnittstelle verwendet. Wenn Sie diesen Weg gehen, werden Sie feststellen, dass Andrew Pitonyak's site wirklich hilft. Sie werden auch gerne Bernard Marcellys Delphi OO samples von SourceForge als einen schönen Ausgangspunkt nehmen.
  • Verwenden Sie Excel als OLE-Automatisierungsobjekt. Es gibt viele Beispiele dafür, wie man das macht. Ein Leitfaden, der dem ähnelt, was Sie wollen, ist here. Dies ist wahrscheinlich die einfachste Lösung, da Sie Ihre Tabbed-Daten über die Automatisierung öffnen und dann ein Speichern als durchführen können.
  • Verwenden Sie etwas anderes als ein RichEdit. Zum Beispiel hat DevExpress ein Grid-Produkt, das mit einem Excel-Konverter geliefert wird. Excel ist ein ziemlich häufiges Ziel für bestimmte Arten von Komponenten, insbesondere in gekauften Paketen, aber ich bin mir nicht sicher, ob das für Ihr Projekt akzeptabel ist.
+0

Vielen Dank, das Excel als OLE-Automatisierungsobjekt hat geholfen. –

1

Ich würde nicht speichern getabulatortrennte Text mit einer xls-Dateierweiterung - das ist eine Flickschusterei.

Ich finde, dass tabellarische Daten in kommagetrennte Format speichern funktioniert gut, und verwenden oft diese Lösung aus den folgenden Gründen:

  • Wenn Excel installiert ist, wird die CSV-Dateierweiterung im Allgemeinen verbunden, so doppel- Klicke Werke, ohne „fälschen“, um die Datei-Endung
  • Wenn Excel nicht installiert ist oder nicht mit .csv verbunden ist, kann ein anderes Programm hat der Benutzer mit der Erweiterung .csv und dieser Lösung verbunden ist, wird immer noch funktioniert
+1

Ich stimme definitiv zu, KEINE gefälschte Dateiendung zu verwenden. – Hemant

+0

Ich stimme nicht zu, aber das ist Kludgesituation (ich bin ein Clinical Application Analyst kein Entwickler) danke für die Eingabe aller. –

0

Have ein Blick auf die XL SReadWrite-Komponente (http://www.axolot.com/components/xlsrwii20.htm). Es bietet eine API, mit der Sie direkt in xls-Dateien speichern können, ohne dass eine Excel-Installation oder externe Abhängigkeiten erforderlich sind.

Verwandte Themen