Hola wolfran_hack.
Como te dije no uso
Excel, pero supongo que debe ser similar a
Calc de
LibreOffice, así que proba si de este modo te funciona:
Código Delphi
[-]
procedure LoadFromCSV(LV: TListView; const aFileName: string);
var
LI : TListItem;
TS1, TS2: TStrings;
i, j: Integer;
begin
TS1 := TStringList.Create;
TS2 := TStringList.Create;
try
TS1.LoadFromFile(aFileName);
TS2.CommaText := TS1[0];
for i := 0 to TS2.Count-1 do
begin
LV.Columns.Add;
LV.Columns.Items[i].Caption := TS2[i];
LV.Columns[i].Width:= 100; end;
for i := 1 to TS1.Count-1 do
begin
TS2.Clear;
TS2.CommaText := TS1[i];
LI := LV.Items.Add;
LI.Caption := TS2[0];
for j:= 1 to TS2.Count - 1 do
LI.SubItems.Add(TS2[j]);
end;
finally
TS1.Free;
TS2.Free;
end;
end;
Ejemplo de uso:
Código Delphi
[-]
LoadFromCSV(ListView1, ExtractFilePath(Application.ExeName)+'Archivo.csv');
El procedimiento carga un archivo .csv a un
TListView en blanco.
Por si pudiera serte de ayuda, te adjunto la prueba con el archivito .csv que generé desde el
Calc.
Saludos