delphi如何将stringgrid中的内容保存呢?
如题,类似文本那样可以用savedialog那样保存一个stringgrid中的内容么,保存为excel格式,或者别的格式的请给出代码...
如题,类似文本那样可以用savedialog那样保存一个stringgrid中的内容么,保存为excel格式,或者别的格式的
请给出代码 展开
请给出代码 展开
2个回答
展开全部
procedure SaveGrid(g:TStringGrid; filename:string);
var i:integer; t:TStringlist;
begin
t:=TStringlist.Create;
for i:=0 to g.RowCount-1 do begin
g.Rows[i].Delimiter:=',';
t.Add(g.Rows[i].DelimitedText);
end;
t.SaveToFile(filename);
t.Free;
end;
procedure LoadGrid(g:TStringGrid; filename:string);
var i:integer; t:TStringlist;
begin
t:=TStringlist.Create;
t.LoadFromFile(filename);
g.RowCount:=t.Count;
for i:=0 to t.Count-1 do begin
g.Rows[i].Delimiter:=',';
g.Rows[i].DelimitedText:=t.Strings[i];
end;
t.Free;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
SaveGrid(StringGrid1,'f.txt');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
LoadGrid(StringGrid1,'f.txt');
end;
var i:integer; t:TStringlist;
begin
t:=TStringlist.Create;
for i:=0 to g.RowCount-1 do begin
g.Rows[i].Delimiter:=',';
t.Add(g.Rows[i].DelimitedText);
end;
t.SaveToFile(filename);
t.Free;
end;
procedure LoadGrid(g:TStringGrid; filename:string);
var i:integer; t:TStringlist;
begin
t:=TStringlist.Create;
t.LoadFromFile(filename);
g.RowCount:=t.Count;
for i:=0 to t.Count-1 do begin
g.Rows[i].Delimiter:=',';
g.Rows[i].DelimitedText:=t.Strings[i];
end;
t.Free;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
SaveGrid(StringGrid1,'f.txt');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
LoadGrid(StringGrid1,'f.txt');
end;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询