Exportar un StringGrid a un fichero

2786 vistas

Veamos cómo exportar el contenido de un StringGrid hacia un fichero con las columnas separadas por ;.

Definiremos una constante CHAR_SEP como separador asÃ, modificando ésta constante, podremos usar TAB, ; , Saltos de linea,...



delphi
  1. procedure ExportaStringGrid(ST: TStringGrid);
  2. const
  3.   CHAR_SEP = ';';
  4. var
  5.   i, j: integer;
  6.   Str: String;
  7.   TS: TStrings;
  8. begin
  9.   // Inicializamos
  10.   Str := '';
  11.   // Para cada línea de las selecciondas 
  12.   for i := (ST.Selection.Top) to (ST.Selection.Bottom) do
  13.   begin
  14.     // Si no es la 1ª linea, añadimos un salto de línea
  15.     if (i <> ST.Selection.Top) then
  16.       Str := Str + #13#10;
  17.  
  18.     // Para cada elemento dentro de la línea (celdas)...
  19.     for j := 0 to (ST.Rows[i].Count - 1) do
  20.     begin
  21.       // Si no es la primera celda, añadimos un separador
  22.       if (j <> 0) then
  23.         Str := Str + CHAR_SEP;
  24.  
  25.       // Construimos la cadena
  26.       Str := Str + ST.Rows[i].Strings[j];
  27.     end;
  28.     // La guardamos en el fichero (utilizando un TStrings, por ejemplo)
  29.     TS := TStringList.Create();
  30.     TS.Add(Str);
  31.     TS.SaveToFile('C:\prueba.txt');
  32.     TS.Free;
  33. end;