AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Excel - Export ohne Excel - Problem beim erzeugen

Excel - Export ohne Excel - Problem beim erzeugen

Ein Thema von padavan · begonnen am 16. Aug 2005 · letzter Beitrag vom 2. Jul 2010
Antwort Antwort
Seite 2 von 4     12 34   
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.170 Beiträge
 
Delphi 10.4 Sydney
 
#11

Re: Excel - Export ohne Excel - Problem beim erzeugen

  Alt 11. Nov 2005, 08:51
Zitat von Zerolith:
Hmmm eigentl. Hast ja recht. Bloß bin ich davon ausgegangen das ms. Excel unicode unterstützt.

oder nicht?
Macht es. Bloß wenn der gerwählte Font keine Zeichen hat kann Excel auch nichts machen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Zerolith

Registriert seit: 12. Mär 2003
Ort: Kempten
188 Beiträge
 
Delphi 6 Enterprise
 
#12

Re: Excel - Export ohne Excel - Problem beim erzeugen

  Alt 11. Nov 2005, 09:20
Tahoma und Arial haben unicode zeichen...
wenn ich die DAtei dann aufmach, und manuell irgendwelche Kyrillischen zeichen oder so eingibt funktioniert das ja auch ganz prima
Daniel
  Mit Zitat antworten Zitat
Benutzerbild von alphaflight83
alphaflight83

Registriert seit: 5. Jun 2008
Ort: Würzburg
147 Beiträge
 
Delphi 10.4 Sydney
 
#13

Re: Excel - Export ohne Excel - Problem beim erzeugen

  Alt 10. Jun 2009, 12:32
Muss das hier mal wiederbeleben.
Mit Delphi 2009 brauche ich hier nun auch Unicode.
Wenn ich in der Funktion
procedure TXLSExport.Write(const Col, Row: Word; const Value: string); für Value AnsiString statt String verwende funktoniert die Funktion wie früher,
allerdings will ich ja nun auch Unicode in den Exports benutzen.
Die Frage von Zerolith wurde damals nicht beantwortet.
Auch ich bekomme Kästchen in den Feldern, allerdings "nur" jedes zweite Zeichen.
Die Länge der Strings wäre an sich richtig, nur dass eben immer ein Kästchen reingequetscht wird,
wodurch die Hälfte des Strings unter den Tisch fällt.
Als Standard Schriftart habe ich in Excel Arial Unicode MS eingestellt,
es liegt also definitiv nicht an Excels Schriftart.

Kann das an der Dereferenzierung liegen?
XlsStream.WriteBuffer(Pointer(AValue)^, L); Hab unlängst mal gelesen, dass die Dereferenzierung mit "Pointer" nicht so richtig funktioniert !?!

Edit: Anscheinend nicht, auch die Spezifizierung durch PWideString, bzw PUnicodeString bringt keinen Effekt
Make me a sandwich! - What? Make it yourself. - Sudo make me a sandwich! - Okay
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Excel - Export ohne Excel - Problem beim erzeugen

  Alt 10. Jun 2009, 14:07
Hallo alphaflight83,

in der CodeLib gibt es auch eine Unit um Excel-Dateien, ohne Excel zu erzeugen.

Excel-Unit
Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#15

Re: Excel - Export ohne Excel - Problem beim erzeugen

  Alt 11. Jun 2009, 05:15
Zitat von Chemiker:
in der CodeLib gibt es auch eine Unit um Excel-Dateien, ohne Excel zu erzeugen.
TXLSExport schreibt ja auch direkt ohne OLE etc.
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von alphaflight83
alphaflight83

Registriert seit: 5. Jun 2008
Ort: Würzburg
147 Beiträge
 
Delphi 10.4 Sydney
 
#16

Re: Excel - Export ohne Excel - Problem beim erzeugen

  Alt 12. Jun 2009, 09:59
Zitat von Chemiker:
In der CodeLib gibt es auch eine Unit um Excel-Dateien, ohne Excel zu erzeugen.
Ah, hab grade gesehen, dass du Änderungen für D2009 eingefügt hast, dann werde ich mir das nochmal zu Gemüte führen.
Danke mal dafür.
Make me a sandwich! - What? Make it yourself. - Sudo make me a sandwich! - Okay
  Mit Zitat antworten Zitat
GHorn

Registriert seit: 24. Mär 2009
Ort: NRW
124 Beiträge
 
#17

Re: Excel - Export ohne Excel - Problem beim erzeugen

  Alt 16. Jun 2009, 14:17
Hi,
ich brüte auch gerade über diesem Thema.

@Chemiker:
Setze ich

BIFFVersion:= XLS_BIFFVER // XLS_BIFFVER = $600 um mit BIFF8 zu arbeiten, bekomme ich auch so niedliche Kästchen.
Allerdings nicht in allen Feldern. Hauptsächlich in Zeichenfeldern, die
Ziffern enthalten.
Die Anpassung an D2009 habe ich auch probiert - allerdings ohne Erfolg.
Die Kästchen und kryptischen Zeichen bleiben.

Grund für die Anpassung an BIFF8 ist die Notwendigkeit, mehr als ein
Worksheet zu erstellen und mit Daten zu füllen. Soweit ich das bisher
in Erfahrung bringen konnte, ist dafür BIFF8 erforderlich. Oder nicht??
Wie erstelle ich weitere Worksheets und gebe ihnen noch treffende Namen?

Im Übrigen ist Dein Tool super. Danke dafür.

Aktuell: D2007, Daten aus BlackFish (Unicode) und Excel 2003 (SP3).

Gruß,
Gerald
  Mit Zitat antworten Zitat
Benutzerbild von alphaflight83
alphaflight83

Registriert seit: 5. Jun 2008
Ort: Würzburg
147 Beiträge
 
Delphi 10.4 Sydney
 
#18

Re: Excel - Export ohne Excel - Problem beim erzeugen

  Alt 16. Jun 2009, 14:41
So jetzt kann ich mich wieder mal diesem Thema zuwenden.

Hab das jetzt mal ausprobiert und Chemikers Funktion verwendet,
allerdings bleiben auch hier noch die Kästchen-Steuerzeichen hinter jedem Char in der Tabelle.
Die Änderung bewirkt immerhin, dass die Strings nicht abgeschnitten werden.

Mit TXLSExport erreicht man das durch Änderung der Prozedur Write

Delphi-Quellcode:
procedure TXLSExport.Write(const Col, Row: Word; const Value: String);
var L: Word;
begin
  L := Length(Value) * SizeOf(Char); // <-
  CXlsLabel[1] := 8 + L;
  CXlsLabel[2] := Row;
  CXlsLabel[3] := Col;
  CXlsLabel[5] := L;
  fs.WriteBuffer(CXlsLabel, SizeOf(CXlsLabel));
  fs.WriteBuffer(Pointer(Value)^, L);
end;
Aber, wie gesagt, die Kästchen sind in beiden Fällen weiterhin da.
Die Stringlänge bei TXLSExport vor der Änderung wäre an sich wie gesagt auch richtig,
wenn die Kästchen den String nicht dehnen würden.

Kann es sein, dass noch ein De-/Codier-Schritt fehlt, um das zum laufen zu bringen?

Edit: Hab grade festgestellt, dass die Exportierung immer noch als Ansi abläuft.
Dann hat der Excel Export an sich erst mal gar nichts damit zu tun und ich muss eine Ebene drunter Fehlersuche betreiben.
Make me a sandwich! - What? Make it yourself. - Sudo make me a sandwich! - Okay
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: Excel - Export ohne Excel - Problem beim erzeugen

  Alt 16. Jun 2009, 20:00
Hallo alphafligt83, GHorn,

Zitat von GHorn:
Aktuell: D2007, Daten aus BlackFish (Unicode) und Excel 2003 (SP3).
D2007 ist aber nicht UniCode fähig.

Man kann die Routinen natürlich erweitern um weitere Sheets in einem Workbook anzulegen, allerdings wird dadurch das ganze etwas aufgebläht.
Das gleiche gilt für Formatierungen, Schriftgröße usw.

Ich bin bisher nicht in die Verlegenheit gekommen Unicode zu benutzen, ich habe nur die Unit so angepasst das ich das StringGrid mit den Zufallswerten mit Delphi 2009 benutzen kann und eine Excel-Datei erhalte die alle Übertragen Daten in Excel 2007 anzeigt und nicht zum Teil die Daten abschneidet.

In diesem Link steht wie das Biff-Format aufgebaut ist: BIFF-Format
Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von alphaflight83
alphaflight83

Registriert seit: 5. Jun 2008
Ort: Würzburg
147 Beiträge
 
Delphi 10.4 Sydney
 
#20

Re: Excel - Export ohne Excel - Problem beim erzeugen

  Alt 17. Jun 2009, 09:05
Momentan bin ich immer noch am suchen, wie ich einen TFileStream dazu bringe die Encoding auf UTF8 zu setzen.
Bei einem normalen SaveToFile ist das ja kein Ding
StringList.SaveToFile(ExportFilename, TEncoding.UTF8); Aber beim Stream hab ich bisher noch keine Option gefunden.
Kann natürlich auch sein, dass ich das an anderer Stelle setzen muss !?!
Make me a sandwich! - What? Make it yourself. - Sudo make me a sandwich! - Okay
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 19:24 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