Ähm... mal ne simple Frage: Wieso nicht einfach das StringGrid als
CSV speichern?
Das lässt sich in Excel problemlos (sogar problemloser als XLS) öffnen, bearbeiten, speichern, und erzeugt keinen Overhead, der eh nicht notwendig wäre. Denn TStringGrids unterstützen doch eh nur Strings soweit ich weiß.
Dann hättest du fast einen "Einzeiler", und null Probleme, selbst wenn Excel nicht installiert ist oder nicht gefunden wird (oder die
API sich geänndert hat).
Delphi-Quellcode:
procedure LoadCSV(Lines: TStrings);
var
Index: Integer;
Cols: TArray<string>;
I: Integer;
begin
StringGrid1.RowCount := Lines.Count;
for Index := 0 to Lines.Count - 1 do
begin
Cols := Lines.Strings[index].Split([';', ','], '"', '"');
StringGrid1.ColCount := length(cols);
for I := 0 to StringGrid1.ColCount - 1 do
begin
StringGrid1.Rows[index].Strings[I] := Cols[I];
end;
end;
end;
Das wäre zum Laden. Das Speichern ginge noch einfacher...