Delphi comma-separated values (CSV) library

CSV
Read and modify existing CSV files:
with TCsv.Create do
try
  LoadAnsiFile('c:\data.csv');
  ShowMessage(ToString);

  if (LineCount > 1) and (FieldCount[1] > 2) then
    Fields[1, 2] := 'New value';
  ShowMessage(ToString);
finally
  Free;
end;
								
Create new CSV files:
with TCsv.Create do
try
  LineCount := 10;
  for i := 0 to LineCount - 1 do
  begin
    FieldCount[i] := 3;
    for j := 0 to FieldCount[i] - 1 do
      Fields[i, j] := 'Field ' + IntToStr(i) + ' ' + IntToStr(j);
  end;

  ToUtf8File('c:\new.csv');
finally
  Free;
end;
								
Use fast TCsvWriter to create CSV file without in-memory overhead of TCsv class:
with TCsvWriter.Create('export.csv') do
try
  Write('Field 1 1');
  Write('Field 1 2');
  Write('Field 1 3');

  NextLine;

  Write('Field 2 1');
  Write('Field 2 2');
  Write('Field 2 3');

  NextLine;

  Write('Field 3 1');
  Write('Field 3 2');
  Write('Field 3 3');
finally
  Free;
end;
								
  • optimized for large data
  • selectable field separator
  • selectable CR/LF/CRLF output
  • selectable enclosing character
  • optional white space enclosing
  • optimized output, enclosing emitted "as needed"
  • WideString or Unicode fields
  • UTF8 and Ansi files supported
  • UTF8, AnsiString and WideString/UnicodeString data supported
  • lines with variable number of fields supported
  • insertion and deletion of lines and fields supported
  • supports Windows 32, Windows 64, macOS, iOS and Android
  • available for Delphi/C++ Builder 6 - 10.2 and Lazarus 1.6.4
  • source code included in registered version
  • royalty free distribution in applications

Download and order

Order CSV library $40,- USD (license for one developer)
Order CSV multilicense $120,- USD (license for all developers in company)
Order CSV year upgrades $20,- USD (registered users only)
Order CSV year upgrades multilicense $60,- USD (registered multilicense users only)

Related links