Dokumentace HotXLS

Metoda SaveAs

Uloží změny v sešitu do jiného souboru nebo datového proudu. Vrátí 1 v případě úspěchu

Syntaxe

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. Řetězec udávající název souboru, který se má uložit. Můžete zadat úplnou cestu; pokud ji neuvedete, Workbook uloží soubor do aktuální složky
FileFormat Volitelný TXLSFileFormat. Hodnota určující formát souboru, který se má uložit. Výchozí hodnota je xlExcel97
Stream TStream. Uloží Workbook do streamu zadaného v parametru Stream

Popis

Výstup do souboru XLS dokončí serializaci v sousedním přípravném souboru, ještě než vymění cíl; neúspěšný commit ponechá existující cíl nedotčený a zachycenou nativní chybu nahlásí přes diagnostiku sešitu

Na souborových systémech Windows podporujících POSIX rename může výměna uspět, i když zůstane otevřený popisovač metadat nebo čtečky umožňující smazání; existující čtečka dál vidí původní objekt souboru a nová čtečka cílového jména uvidí dokončenou výměnu

Cíl musí umožňovat přístup ke smazání a sdílení s možností smazání, readonly cíle se stále odmítají; neúspěšný commit se neopakuje, zatímco chybějící cíle, reparse cesty a nepodporované souborové systémy používají starší commit cestu vybranou už před výměnou

Atomická výměna chrání publikaci jednoho dokončeného souboru; neposkytuje izolaci compare-and-swap proti jinému procesu, který stejné jméno mění souběžně

FileFormat může být jedna z těchto konstant TXLSFileFormat
xlExcel97 Formát souboru MS Excel 97,2000,XP,2003
xlExcel5 Formát souboru MS Excel 5,95
xlHTML Formát souboru HTML
xlRTF Formát Rich Text (RTF)
xlCSV Formát souboru s hodnotami oddělenými čárkou (CSV)
xlText Formát souboru s hodnotami oddělenými tabulátorem (TSV)
xlUnicodeCSV Formát souboru s hodnotami unicode oddělenými čárkou (CSV)
xlUnicodeText Formát souboru s hodnotami unicode oddělenými tabulátorem (TSV)

Příklad

Tento příklad vytvoří nový sešit s jedním listem a poté sešit uloží

Var
  Workbook: IXLSWorkbook;
begin
  Workbook := TXLSWorkbook.Create; {create new Workbook}
  Workbook.Worksheets.Add;
  {...}
  //Save sešit as Excel 97 soubor formát 
  Workbook.SaveAs('C:\book.xls');
  //Save sešit as Excel 5-95 soubor formát 
  Workbook.SaveAs('C:\book5.xls', xlExcel5);
  //Save sešit as HTML 
  Workbook.SaveAs('C:\book.html', xlHTML);
  //Save sešit as RTF soubor 
  Workbook.SaveAs('C:\book.rtf', xlRTF);
  //Save active list as comma separated values (CSV)
  Workbook.SaveAs('C:\book.csv', xlCSV);
  //Save active list as tab separated values (TSV)
  Workbook.SaveAs('C:\book.tsv', xlText);
  //Save active list as comma separated unicode values (CSV)
  Workbook.SaveAs('C:\book.csv', xlUnicodeCSV);
  //Save active list as tab separated unicode values (TSV)
  Workbook.SaveAs('C:\book.tsv', xlUnicodeText);
end;
Tento příklad uloží sešit do pole 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;