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