Документация HotXLS

Метод SaveAs

Сохраняет рабочую книгу в другой файл или поток. Возвращает 1 при успехе

Синтаксис

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. Строка, задающая имя файла для сохранения. Можно указать полный путь; если не указать, Workbook сохранит файл в текущей папке
FileFormat Необязательный TXLSFileFormat. Значение, указывающее формат файла для сохранения. По умолчанию xlExcel97
Stream TStream. Сохраняет Workbook в поток, указанный в параметре Stream

Описание

FileFormat может быть одной из следующих констант TXLSFileFormat
xlExcel97Формат MS Excel 97, 2000, XP, 2003
xlExcel5Формат MS Excel 5, 95
xlHTMLФормат HTML
xlRTFRich Text Format (RTF)
xlCSVФормат CSV
xlTextФормат TSV
xlUnicodeCSVФормат Unicode CSV
xlUnicodeTextФормат Unicode TSV

Пример

Создаёт рабочую книгу с одним листом и сохраняет её

Var
  Workbook: IXLSWorkbook;
begin
  Workbook := TXLSWorkbook.Create; {create new Workbook}
  Workbook.Worksheets.Add;
  {...}
  //Save книга as Excel 97 файл формат 
  Workbook.SaveAs('C:\book.xls');
  //Save книга as Excel 5-95 файл формат 
  Workbook.SaveAs('C:\book5.xls', xlExcel5);
  //Save книга as HTML 
  Workbook.SaveAs('C:\book.html', xlHTML);
  //Save книга as RTF файл 
  Workbook.SaveAs('C:\book.rtf', xlRTF);
  //Save active лист as comma separated значения (CSV)
  Workbook.SaveAs('C:\book.csv', xlCSV);
  //Save active лист as tab separated значения (TSV)
  Workbook.SaveAs('C:\book.tsv', xlText);
  //Save active лист as comma separated unicode значения (CSV)
  Workbook.SaveAs('C:\book.csv', xlUnicodeCSV);
  //Save active лист as tab separated unicode значения (TSV)
  Workbook.SaveAs('C:\book.tsv', xlUnicodeText);
end;
Сохраняет рабочую книгу в поле 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;