| FileName | WideString. Ein Zeichenfolgenwert, der den Namen der zu speichernden Datei angibt. Ein vollständiger Pfad kann angegeben werden; andernfalls speichert Workbook die Datei im aktuellen Ordner |
| FileFormat | Optional TXLSFileFormat. Ein Wert, der das Format der zu speichernden Datei angibt. Standard ist xlExcel97 |
| Stream | TStream. Saves Arbeitsmappe zu stream angegeben im Stream parameter |
Die XLS-Dateiausgabe schließt die Serialisierung in einer Geschwister-Staging-Datei ab, bevor das Ziel ersetzt wird; ein fehlgeschlagener Commit lässt das vorhandene Ziel unangetastet und meldet den erfassten nativen Fehler über die Arbeitsmappen-Diagnostik
Auf Windows-Dateisystemen mit POSIX-Rename kann das Ersetzen gelingen, während ein Metadaten- oder Reader-Handle, der Löschung erlaubt, offen bleibt; ein bestehender Reader sieht weiterhin das ursprüngliche Dateiobjekt, und ein neuer Reader des Zielnamens sieht die abgeschlossene Ersetzung
Das Ziel muss Löschzugriff und Lösch-Sharing erlauben, und schreibgeschützte Ziele werden weiterhin abgelehnt; ein fehlgeschlagener Commit wird nicht wiederholt, während fehlende Ziele, Reparse-Pfade und nicht unterstützte Dateisysteme den vor der Ersetzung gewählten Legacy-Commit-Pfad verwenden
Atomares Ersetzen schützt die Veröffentlichung einer vollständigen Datei; es bietet keine Compare-and-Swap-Isolation gegen einen anderen Prozess, der denselben Namen gleichzeitig ersetzt
| SaveAs(FileName: WideString; FileFormat: TXLSFileFormat): Integer; | 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 | Dateiformat mit durch Komma getrennten Werten (CSV) |
| xlText | Tab separated values file format (TSV) |
| xlUnicodeCSV | Dateiformat mit durch Komma getrennten Unicode-Werten (CSV) |
| xlUnicodeText | Dateiformat mit durch Tabulator getrennten Unicode-Werten (TSV) |
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;
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;