Load CSV Data into a StringGrid in DephiThis short procedure will load data stored in a CSV file into a StringGrid in Dephi control for which can be used for display or processing.
To use this code, simply call the method with the filename for the CSV and a reference to the StringGrid in Delphi and it will read the CSV data and populate the grid and headers.
procedure LoadCSV(Filename: string; sg: TStringGrid);
var
i, j, Position, count, edt1: integer;
temp, tempField : string;
FieldDel: char;
Data: TStringList;
begin
Data := TStringList.Create;
FieldDel := ',';
Data.LoadFromFile(Filename);
temp := Data[1];
count := 0;
for i:= 1 to length(temp) do
if copy(temp,i,1) = FieldDel then
inc(count);
edt1 := count+1;
sg.ColCount := 30;
sg.RowCount := Data.Count +1;
sg.FixedCols := 0;
for i := 0 to Data.Count - 1 do
begin;
temp := Data[i];
if copy(temp,length(temp),1) <> FieldDel then
temp := temp + FieldDel;
while Pos('"', temp) > 0 do
begin
Delete(temp,Pos('"', temp),1);
end;
for j := 1 to edt1 do
begin
Position := Pos(FieldDel,temp);
tempField := copy(temp,0,Position-1);
sg.Cells[j-1,i+1] := tempField;
Delete(temp,1,length(tempField)+1);
end;
end;
Data.Free;
end;