⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 导出xls.txt

📁 dbgrid显示数据库记录时,可以建立ontitle事件使鼠标控制grid滚动
💻 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 + -