Documentación de HotXLS

Método SaveAs

Guarda los cambios del libro en un archivo o flujo diferente. Devuelve 1 si se realiza correctamente

Sintaxis

function SaveAs(FileName: WideString): Integer;
function SaveAs(FileName: WideString; FileFormat: TXLSFileFormat): Integer;
function SaveAs(Stream: TStream);
function SaveAs(Stream: TStream; FileFormat: TXLSFileFormat): Integer;
FileName WideString. Cadena que indica el nombre del fichero que se va a guardar. Puede incluir una ruta completa; si no lo hace, Workbook guarda el fichero en la carpeta actual
FileFormat TXLSFileFormat opcional. Un valor que indica el formato del archivo que se va a guardar. El valor predeterminado es xlExcel97
Stream TStream. Saves libro stream especificado en el Stream parameter

Descripción

La salida a archivo XLS completa la serialización en un archivo de ensayo hermano antes de reemplazar el destino; una confirmación fallida deja el destino existente intacto y comunica el error nativo capturado a través del diagnóstico del libro

En sistemas de archivos de Windows que admiten el cambio de nombre POSIX, el reemplazo puede tener éxito mientras sigue abierto un identificador de metadatos o de lector que permite el borrado; un lector existente sigue viendo el objeto de archivo original, y un nuevo lector del nombre de destino ve el reemplazo completado

El destino debe permitir el acceso de borrado y el uso compartido de borrado, y los destinos de solo lectura siguen rechazándose; una confirmación fallida no se reintenta, mientras que los destinos ausentes, las rutas reparse y los sistemas de archivos no admitidos usan la ruta de confirmación heredada seleccionada antes del reemplazo

El reemplazo atómico protege la publicación de un archivo completado; no proporciona aislamiento de comparación e intercambio frente a otro proceso que reemplace de forma concurrente el mismo nombre

FileFormat puede ser una de estas constantes TXLSFileFormat
xlExcel97 Formato de archivo MS Excel 97, 2000, XP, 2003
xlExcel5 Formato de archivo MS Excel 5, 95
xlHTML Formato de archivo HTML
xlRTF Formato de texto enriquecido (RTF)
xlCSV Formato de archivo de valores separados por comas (CSV)
xlText Formato de archivo de valores separados por tabulaciones (TSV)
xlUnicodeCSV Formato de archivo CSV de valores unicode separados por comas
xlUnicodeText Formato de archivo TSV de valores unicode separados por tabulaciones

Ejemplo

Este ejemplo crea un nuevo libro con una Hoja de cálculo y luego guarda el libro

Var
  Workbook: IXLSWorkbook;
begin
  Workbook := TXLSWorkbook.Create; {create new Workbook}
  Workbook.Worksheets.Add;
  {...}
  //Save Workbook as Excel 97 file format 
  Workbook.SaveAs('C:\book.xls');
  //Save Workbook as Excel 5-95 file format 
  Workbook.SaveAs('C:\book5.xls', xlExcel5);
  //Save Workbook as HTML 
  Workbook.SaveAs('C:\book.html', xlHTML);
  //Save Workbook as RTF file 
  Workbook.SaveAs('C:\book.rtf', xlRTF);
  //Save active Worksheet as comma separated values (CSV)
  Workbook.SaveAs('C:\book.csv', xlCSV);
  //Save active Worksheet as tab separated values (TSV)
  Workbook.SaveAs('C:\book.tsv', xlText);
  //Save active Worksheet as comma separated unicode values (CSV)
  Workbook.SaveAs('C:\book.csv', xlUnicodeCSV);
  //Save active Worksheet as tab separated unicode values (TSV)
  Workbook.SaveAs('C:\book.tsv', xlUnicodeText);
end;
Este ejemplo guarda el libro en el campo BLOB

var
  MS: TMemoryStream;
begin
  if not (ClientDataSet1.State in [dsInsert, dsEdit]) then
    ClientDataSet1.Insert;
  MS := TMemoryStream.Create();
  try
    FWorkbook.SaveAs(MS);
    ClientDataSet1Documents.LoadFromStream(MS);
  finally
    MS.Free;
  end;
  ClientDataSet1.Post;
end;