HotXLS-dokumentation

SaveAs metode

Saves changes to the Workbook in a different file or stream. Returnerer 1 if it succeeds

Syntaks

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. En streng, der angiver navnet på den fil, der skal gemmes. Du kan angive en fuld sti; gør du det ikke, gemmer Workbook filen i den aktuelle mappe
FileFormat Valgfri TXLSFileFormat. En værdi, der angiver formatet på den fil, der skal gemmes. Standard er xlExcel97
Stream TStream. Saves Workbook to a stream specified in the Stream parameter

Beskrivelse

XLS-filoutput fuldender serialiseringen i en søskende-staging-fil, før destinationen erstattes; et fejlet commit efterlader den eksisterende destination intakt og rapporterer den indfangede native fejl gennem arbejdsbogens diagnostik

På Windows-filsystemer med POSIX rename kan udskiftningen lykkes, mens et metadata- eller læserhandle, der tillader sletning, stadig er åbent; en eksisterende læser ser fortsat det oprindelige filobjekt, og en ny læser af destinationsnavnet ser den fuldførte erstatning

Destinationen skal tillade sletteadgang og delete-sharing, og skrivebeskyttede targets afvises stadig; et fejlet commit gentages ikke, mens manglende targets, reparse-stier og ikke-understøttede filsystemer bruger den gamle commit-sti, der vælges før erstatningen

Atomisk erstatning beskytter publiceringen af én fuldført fil; den giver ikke compare-and-swap-isolering mod en anden proces, der samtidig erstatter samme navn

FileFormat can be one of these TXLSFileFormat constants
xlExcel97 MS Excel 97,2000,XP,2003 file format
xlExcel5 MS Excel 5,95 file format
xlHTML HTML file format
xlRTF Rich Text Format (RTF)
xlCSV Comma separated values file format (CSV)
xlText Tab separated values file format (TSV)
xlUnicodeCSV Comma separated unicode values file format (CSV)
xlUnicodeText Tab separated unicode values file format (TSV)

Eksempel

Eksemplet opretter en ny projektmappe med ét regneark og gemmer derefter projektmappen

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;
This example saves Workbook into the BLOB field

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;