| FileName | WideString. Łańcuch określający nazwę pliku do zapisania. Możesz podać pełną ścieżkę; jeśli tego nie zrobisz, Workbook zapisze plik w bieżącym folderze |
| FileFormat | Opcjonalny TXLSFileFormat. Wartość określająca format pliku do zapisania. Domyślnie xlExcel97 |
| Stream | TStream. Zapisuje Workbook do strumienia określonego w parametrze Stream |
Wyjście plików XLS kończy serializację w równoległym pliku etapowania przed podmianą celu; nieudany commit pozostawia istniejący cel nietknięty i zgłasza przechwycony natywny błąd przez diagnostykę skoroszytu
Na systemach plików Windows wspierających POSIX rename podmiana może się powieść, gdy uchwyt metadanych albo czytnika pozwalający na usunięcie pozostaje otwarty; istniejący czytnik nadal widzi oryginalny obiekt pliku, a nowy czytnik nazwy celu widzi ukończoną podmianę
Cel musi pozwalać na dostęp usunięcia i współdzielenie usunięcia, a cele tylko do odczytu nadal są odrzucane; nieudany commit nie jest ponawiany, podczas gdy brakujące cele, ścieżki reparse i nieobsługiwane systemy plików używają starszej ścieżki commitu wybranej przed podmianą
Atomowa podmiana chroni publikację jednego ukończonego pliku; nie dostarcza izolacji compare-and-swap względem innego procesu równocześnie podmieniającego tę samą nazwę
| xlExcel97 | MS Excel 97, 2000, XP, 2003 format pliku |
| xlExcel5 | MS Excel 5, 95 format pliku |
| xlXML | Format pliku XML |
| xlHTML | Format pliku HTML |
| xlRTF | Format pliku RTF |
| xlXLSX | Format pliku XLSX (Open XML) |
| xlPDF | Format pliku PDF |
| xlUnicodeText | Format pliku z wartościami Unicode rozdzielanymi tabulatorami (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;