| FileName | WideString. Строка, задающая имя файла для сохранения. Можно указать полный путь; если не указать, Workbook сохранит файл в текущей папке |
| FileFormat | Необязательный TXLSFileFormat. Значение, указывающее формат файла для сохранения. По умолчанию xlExcel97 |
| Stream | TStream. Сохраняет Workbook в поток, указанный в параметре Stream |
Вывод в файл XLS завершает сериализацию в соседнем промежуточном файле, прежде чем заменить целевой файл; неудачная фиксация оставляет существующий целевой файл нетронутым и сообщает захваченную нативную ошибку через диагностику книги
В файловых системах Windows с поддержкой POSIX rename замена может пройти успешно, пока остаётся открытым дескриптор метаданных или читателя, допускающий удаление; существующий читатель продолжает видеть исходный объект файла, а новый читатель целевого имени видит уже выполненную замену
Целевой файл должен разрешать доступ на удаление и совместное удаление (delete sharing), а цели только для чтения по-прежнему отклоняются; неудачная фиксация не повторяется, тогда как отсутствующие цели, пути reparse и неподдерживаемые файловые системы используют унаследованный путь фиксации, выбранный до замены
Атомарная замена защищает публикацию одного завершённого файла; она не обеспечивает изоляцию compare-and-swap от другого процесса, одновременно заменяющего то же имя
| xlExcel97 | Формат MS Excel 97, 2000, XP, 2003 |
| xlExcel5 | Формат MS Excel 5, 95 |
| xlHTML | Формат HTML |
| xlRTF | Rich 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;
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;