| FileName | WideString. Cadeia de caracteres que indica o nome do ficheiro a guardar. Pode incluir um caminho completo; se não incluir, o Workbook guarda o ficheiro na pasta atual |
| FileFormat | Optional TXLSFileFormat. Valor que indica o formato do ficheiro a guardar. O valor predefinido é xlExcel97 |
| Stream | TStream. Guarda o Workbook num stream especificado no parâmetro Stream |
A saída para ficheiros XLS conclui a serialização num ficheiro de preparação irmão antes de substituir o destino; um commit falhado deixa o destino existente intacto e reporta o erro nativo capturado através dos diagnósticos do livro de trabalho
Em sistemas de ficheiros Windows que suportam rename POSIX, a substituição pode ter sucesso enquanto um handle de metadados ou de leitura que permita eliminação permanece aberto; um leitor existente continua a ver o objeto de ficheiro original, e um novo leitor do nome de destino vê a substituição concluída
O destino deve permitir acesso de eliminação e partilha de eliminação, e alvos só de leitura continuam a ser rejeitados; um commit falhado não é repetido, enquanto destinos em falta, caminhos reparse e sistemas de ficheiros não suportados usam o caminho de commit legado selecionado antes da substituição
A substituição atómica protege a publicação de um ficheiro concluído; não fornece isolamento de compare-and-swap contra outro processo que substitua concorrentemente o mesmo nome
| xlExcel97 | Formato de ficheiro MS Excel 97,2000,XP,2003 |
| xlExcel5 | Formato de ficheiro MS Excel 5,95 |
| xlHTML | Formato de ficheiro HTML |
| xlRTF | Formato Rich Text (RTF) |
| xlCSV | Formato de ficheiro de valores separados por vírgulas (CSV) |
| xlText | Formato de ficheiro de valores separados por tabulação (TSV) |
| xlUnicodeCSV | Formato de ficheiro de valores unicode separados por vírgulas (CSV) |
| xlUnicodeText | Formato de ficheiro de valores unicode separados por tabulação (TSV) |
Var
Workbook: IXLSWorkbook;
begin
Workbook := TXLSWorkbook.Create; {create new Workbook}
Workbook.Worksheets.Add;
{...}
//Save livro as Excel 97 ficheiro formato
Workbook.SaveAs('C:\book.xls');
//Save livro as Excel 5-95 ficheiro formato
Workbook.SaveAs('C:\book5.xls', xlExcel5);
//Save livro as HTML
Workbook.SaveAs('C:\book.html', xlHTML);
//Save livro as RTF ficheiro
Workbook.SaveAs('C:\book.rtf', xlRTF);
//Save active folha de cálculo as comma separated values (CSV)
Workbook.SaveAs('C:\book.csv', xlCSV);
//Save active folha de cálculo as tab separated values (TSV)
Workbook.SaveAs('C:\book.tsv', xlText);
//Save active folha de cálculo as comma separated unicode values (CSV)
Workbook.SaveAs('C:\book.csv', xlUnicodeCSV);
//Save active folha de cálculo 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;