📄 导出xls.txt
字号:
首先确定在窗口上放有Excelapplication, Excelworkbook, Excelworksheet(在SERVER选项上),用来创建EXCEL文件及工作表.
再放入一个按钮,作为触发器,
拖入一个savedialog用来保存文件。代码如下:
var
i,j,row,nall:integer; //定义变量,i用以储存记录的数目, j是记录的列数 row是EXCEL的行数 nall是记录的总数
begin
if SaveDialog1.Execute then // 打开保存窗口,让用户选择保存的文件名
begin //inintial excel 初始化EXCEL
ExcelApplication1.Connect;
ExcelApplication1.Workbooks.Add(Null,0);
ExcelWorkBook1.ConnectTo(ExcelApplication1.Workbooks[1]);
ExcelWorkSheet1.ConnectTo(ExcelWorkBook1.Sheets[1] as _WorkSheet);
begin
nall:=adoquery1.RecordCount; //保存记录的数量
row:=0; //初始化行,定位在第一 行
for j:=0 to adoquery1.Fields.Count-1 do // column name,统计共有的列数目,把列名逐列导出到EXCEL第一行
begin
ExcelWorksheet1.Cells.item[1,j+1]:=adoquery1.Fields[j].DisplayName //.DisplayLabel;
end;
for i:=0 to nall-1 do // total rows 正规记录,从第一条记录一直到最后循环
while not adoquery1.Eof do //只要记录没到最后就执行以下动作
begin
for j:=0 to adoquery1.Fields.Count-1 do // column逐列导出动作
begin
ExcelWorkSheet1.Cells.Item[row+2,j+1]:=adoquery1.Fields[j].AsString;//[行,列]
end;
row:=row+1; //行进行增量
adoquery1.Next; //到下一条记录
end;
end;
//以下是导出完毕后的动作,
ExcelWorkBook1.SaveCopyAs(SaveDialog1.FileName+'.xls'); //加后缀名,确保最后是EXCEL文件
ExcelWorkBook1.Close(false);
ExcelApplication1.Disconnect; //断开与EXCEL的连接
Screen.Cursor:=crDefault; //指针随记录而动
showmessage('成功导出 '+inttostr(nall)+' 条数据!');
end;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -