var
i, k,c,r,j: Integer;
xls: TXLSReadWriteII5;
begin
xls := TXLSReadWriteII5.Create(Self);
SaveDialog1 := TSaveDialog.Create(Self);
// SaveDialog1.InitialDir := ExtractFileDir(ParamStr(0)); {默认目录是应用程序的绝对路径 }
SaveDialog1.Title := '保存EXCEL文件路径'; // 设置浏览对话框标题名
SaveDialog1.Filter := 'EXCEL文件(*.xlsx)|*.xlsx'; // 设置保存文件的扩展名
SaveDialog1.DefaultExt := '.xlsx'; // 为保存文件名自动添加扩展名
try
if SaveDialog1.Execute then
xls.Filename := SaveDialog1.Filename
else
xls.Filename := SaveDialog1.Filename + '导出.xlsx';
xls.Clear;
xls.Sheets[0].Name := 'Sheet1';
dbgrd1.DataSource.DataSet.First;
c := dbgrd1.DataSource.DataSet.FieldCount;
r := dbgrd1.DataSource.DataSet.RecordCount;
Application.ProcessMessages;
for i := 0 to c - 1 do
xls.Sheets[0].Asstring[i, 1] := dbgrd1.DataSource.DataSet.Fields[i].DisplayLabel;
for j := 1 to r do
begin
for i := 0 to c - 1 do
xls.Sheets[0].Asstring[ i, j + 1] := dbgrd1.DataSource.DataSet.Fields[i].AsString;
// xls.Sheets[0].AutoWidthCol(i); // 每列为自动宽度
dbgrd1.DataSource.DataSet.Next;
end;
xls.Write;
ShowMessage(Format('导出EXcel文件'+#13#10+'%s'+#13#10 +'成功!', [xls.Filename]));
finally
xls.Free;
SaveDialog1.Free;
end;
Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号
执行时间: 0.10825681686401 seconds