| FileName | WideString。一个指示要保存文件名称的字符串。可以包含完整路径;如果不包含,则工作簿会将文件保存在当前文件夹中 |
| FileFormat | 可选 TXLSFileFormat。一个指示要保存文件格式的值。默认为 xlExcel97 |
| Stream | TStream。将工作簿保存到 Stream 参数中指定的流 |
XLS 文件输出在替换目标之前,先在一个同级的暂存文件中完成序列化;提交失败会让既有目标保持不变,并通过工作簿诊断报告捕获到的原生错误
在支持 POSIX rename 的 Windows 文件系统上,即使一个允许删除的元数据或读取器句柄仍处于打开状态,替换也可能成功;既有读取器继续看到原始文件对象,而以目标名新建的读取器看到的是完成替换后的文件
目标必须允许删除访问和删除共享,只读目标仍然被拒绝;提交失败不会重试,而缺失目标、reparse 路径和不受支持的文件系统使用替换前选定的旧式提交路径
原子替换保护的是一个已完成文件的发布;它不提供针对另一进程并发替换同名文件的 compare-and-swap 隔离
| xlExcel97 | MS Excel 97,2000,XP,2003 文件格式 |
| xlExcel5 | MS Excel 5,95 文件格式 |
| xlHTML | HTML 文件格式 |
| xlRTF | 富文本格式 (RTF) |
| xlCSV | 逗号分隔值文件格式 (CSV) |
| xlText | 制表符分隔值文件格式 (TSV) |
| xlUnicodeCSV | 逗号分隔的 Unicode 值文件格式 (CSV) |
| xlUnicodeText | 制表符分隔的 Unicode 值文件格式 (TSV) |
Var
Workbook: IXLSWorkbook;
begin
Workbook := TXLSWorkbook.Create; {创建新工作簿}
Workbook.Worksheets.Add;
{...}
//将工作簿保存为 Excel 97 文件格式
Workbook.SaveAs('C:\book.xls');
//将工作簿保存为 Excel 5-95 文件格式
Workbook.SaveAs('C:\book5.xls', xlExcel5);
//将工作簿保存为 HTML
Workbook.SaveAs('C:\book.html', xlHTML);
//将工作簿保存为 RTF 文件
Workbook.SaveAs('C:\book.rtf', xlRTF);
//将活动工作表保存为逗号分隔值 (CSV)
Workbook.SaveAs('C:\book.csv', xlCSV);
//将活动工作表保存为制表符分隔值 (TSV)
Workbook.SaveAs('C:\book.tsv', xlText);
//将活动工作表保存为逗号分隔的 Unicode 值 (CSV)
Workbook.SaveAs('C:\book.csv', xlUnicodeCSV);
//将活动工作表保存为制表符分隔的 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;