//自定义导出Excel
function uf_Ex();
var
s:TStringList;
str,filePath:string;
i1,i2,j:Integer;
sd:TSaveDialog;
begin
//数据集为空时,退出
if dssub1 = null then exit;
//加载文件保存框
sd := TSaveDialog.Create(nil);
sd.Title := '请选择保存路径';
sd.Filter := '*.xls|*.xls';
sd.DefaultExt := '.xls';
//执行保存
if sd.Execute then
begin
//保存路径
filePath := Trim(sd.FileName);
//messagebox(filePath,'运行提示',0);
//导中文表头
str :='';
for i1 :=0 to SKBILLgrid1.Columns.Count - 1 do
begin
str := str + SKBILLgrid1.Columns.Items[i1].Title.Caption + #9;
end;
str := str + #13;
//导表体内容
try
dssub1.DisableControls;
dssub1.First;
while not dssub1.Eof do
begin
for i2 :=0 to SKBILLgrid1.Columns.Count - 1 do
begin
for j := 0 to dssub1.Fields.Count - 1 do
begin
if (SKBILLgrid1.Columns.Items[i2].FieldName = dssub1.Fields[j].FieldName) then
begin
str := str + dssub1.Fields[j].AsString + #9;
end;
end;
end;
dssub1.Next;
str := str + #13;
end;
finally
dssub1.EnableControls;
end;
str := str + #13;
try
s:=TStringList.Create;
s.Add(str);
s.SaveToFile(filePath);
messagebox('导出成功!','运行提示',0);
except
messagebox('导出失败!','运行提示',0);
s.Free;
sd.Free;
end;
end;
end;
自定义导出Excel函数 - 方案1
最新推荐文章于 2024-03-12 15:01:33 发布