AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Excel Export und Unicode

Ein Thema von martinf16 · begonnen am 19. Dez 2009 · letzter Beitrag vom 20. Dez 2009
Antwort Antwort
martinf16

Registriert seit: 26. Aug 2007
99 Beiträge
 
Turbo Delphi für Win32
 
#1

Excel Export und Unicode

  Alt 19. Dez 2009, 17:17
Hallo,

um eine einfache Excel-Tabelle zu erzeugen, nutze ich den Code dieser Seite:

http://www.swissdelphicenter.ch/de/showcode.php?id=725

Das funktioniert auch alles fabelhaft, allerdings natürlich nicht mit Unicode. Deswegen habe ich die Funktion etwas umgeschrieben, sprich String durch WideString ausgetauscht und SizeOf hinzugefügt.

Delphi-Quellcode:
procedure XlsWriteCellLabel(XlsStream: TStream; const ACol, ARow: Word;
  const AValue: WideString);
var
  L: Word;
begin
  L := Length(AValue)*SizeOf(WideChar);
  CXlsLabel[1] := 8 + L;
  CXlsLabel[2] := ARow;
  CXlsLabel[3] := ACol;
  CXlsLabel[5] := L;
  XlsStream.WriteBuffer(CXlsLabel, SizeOf(CXlsLabel));
  XlsStream.WriteBuffer(Pointer(AValue)^, L);
end;
Die resultierende Excel-Datei weißt keinerlei Fehler auf, allerdings werden die 2 Bytes eines jeden Unicode Zeichens als 2 ANSI Zeichen interpretiert (Beispiel: aus 音碼 wird ó—¼x), was natürlich nicht sein sollte.

Ich nehme an, es muss nur eine Kleinigkeit geändert werden, damit es funktioniert. Vielleicht so etwas wie eine Byte Order Mark, dass Excel weiß, wie man die Daten interpretieren soll oder vielleicht auch ein anderes Format, in das der WideString erst einmal konvertiert worden muss?! Ich hoffe es weiß jemand weiter... Vielen Dank schonmal!
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

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

Re: Excel Export und Unicode

  Alt 20. Dez 2009, 15:53
Kann es sein das die Schweizer hier nur Nicht-Unicodefähige XLS-Dateien erzeugen? Bei MS gibt's 'ne Formatbeschreibung
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
martinf16

Registriert seit: 26. Aug 2007
99 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Excel Export und Unicode

  Alt 20. Dez 2009, 21:25
Ja, so etwas in der Art habe ich mir ja auch gedacht. Also das man Excel eben sagen muss, dass es sich explizit um Unicode handelt. Vielen Dank für das Dokument, ich werde mich da mal durchkämpfen. Besonders das Kapitel BIFF8 und Unicode Strings scheint ja schon mal in die Richtung zu gehen.
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:04 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