TMS FlexCel 保存Excel
属性和方法
TExcelFile.AllowOverwritingFiles
property AllowOverwritingFiles: Boolean
调用Save()
是否会自动覆盖现有文件。
TExcelFile.Save
procedure Save(const fileName: string);
procedure Save(const aStream: TStream);
procedure Save(const fileName: string; const fileFormat: TFileFormats);
procedure Save(const aStream: TStream; const fileFormat: TFileFormats);
procedure Save(const fileName: string; const fileFormat: TFileFormats; const delimiter: Char);
procedure Save(const aStream: TStream; const fileFormat: TFileFormats; const delimiter: Char);
procedure Save(const fileName: string; const fileFormat: TFileFormats; const delimiter: Char; const fileEncoding: TEncoding);
procedure Save(const aStream: TStream; const fileFormat: TFileFormats; const delimiter: Char; const fileEncoding: TEncoding);
将文件保存到磁盘或流。
重载
Save(string)
、 Save(TStream)
使用TFileFormats.Automatic
文件格式进行保存
参数
fileName 要保存的文件。
如果覆盖现有文件
AllowOverwritingFiles
为 false,则fileName 中指定的文件必须不存在。
aStream 保存文件的流。 必须是可搜索的流。
fileFormat 文件格式。 如果fileName存在,自动将尝试从文件名中猜测它。如果文件格式为文本,则将使用制表符作为分隔符。
delimiter 文件格式为TFil Formats.Text
时使用的分隔符
fileEncoding 编写文本分隔文件(csv 或 txt)时生成的文件的编码。该参数对xls/x文件无效。如果省略,将使用 Encoding.UTF8
。
请注意,要使用 BOM(字节顺序标记)创建文件,您需要在此处指定编码,与使用
StreamWriter
一样。
TExcelFile.DefaultFileFormat
property DefaultFileFormat: TFileFormats
确定在保存文件时未指定文件格式,以及无法通过文件扩展名确定文件格式时Excel使用的默认文件格式。如果设置为Automatic,文件将以打开时相同的格式保存。也就是说,如果您打开一个xlsx文件,它将被保存为xlsx。如果您打开了一个 xls 文件(或使用XlsFile.NewFile()
创建它的),它将被保存为 xls。 当此属性为 Automatic 时,文本文件将保存为 xls。默认值 Automatic。
TFileFormats
支持读取和写入文件的文件格式。
unit
Automatic 打开文件时自动检测文件的类型。如果在保存时使用,FlexCel 将根据文件扩展名(保存到文件时)或 TExcelFile.DefaultFileFormat
的值(保存到流时或无法从扩展名确定格式时)选择使用 xls 还是 xlsx .
Xls Excel 97-2000-XP-2003
Text 分隔符分隔值。根据分隔符的不同,这可以是csv、tab分隔的文本等。
Pxl Pocket Excel 1.0 or 2.0
Xlsx Excel 2007标准文件格式。注意,这不是一个启用宏的文件格式。如果希望保存带有宏的文件,则需要改用Xlsm。
Xlsm Excel 2007 启用宏的文件格式。
例子
另存为
uses VCL.FlexCel.Core, FlexCel.XlsAdapter;
procedure TForm1.Button7Click(Sender: TObject);
var
Xls: TXlsFile;
begin
//读取Excel文件
Xls := TXlsFile.Create('C:\Users\Administrator\Desktop\ceshi.xlsx');
try
//覆盖已存在文件
Xls.AllowOverwritingFiles := True;
//另存为其他文件名
Xls.Save('C:\Users\Administrator\Desktop\ceshi_副本.xlsx');
//保存为xls格式文件
Xls.Save('C:\Users\Administrator\Desktop\ceshi_.xls');
//保存为csv文件
Xls.Save('C:\Users\Administrator\Desktop\ceshi_.csv', TFileFormats.Text, ',');
//保存为文本文件 ANSI编码
Xls.Save('C:\Users\Administrator\Desktop\ceshi_.txt', TFileFormats.Text, #9, TEncoding.ANSI);
finally
Xls.Free;
end;
end;