使用adoquery取会数据在dbgrid显示后,如何统计返回了多数条记录?并把返回的记录导出到excel?thx
解决方案 »
- 关于动态创建MDI子窗体的问题,这个代码有没有问题??
- 菜鸟问题:Delphi6和Delphi7哪个开放起来好一点?
- 用dbgrideh在设计时能看到列统计(footer),在运行时列统计根本就没有???
- 高分请问各位大虾,如何调用改变时间的那个界面(当我们修改时间时,双击右下脚的任务栏出现修改时间的界面,请问在Delphi该怎么调用,有什么
- Con't perform this operation on an empty dataset.
- 关于建立线程(CreateThread)的简单问题!
- 程序中如何控制把dbgrid控件中列的宽度自动适应实际长度,
- 各位高手看进来,TNMSMTP问题...
- 请教;如何在程序中修改短日期格式?
- 把setup10个文件合并起来成exe的中文自解压:我用了Winrar汉化版 V2.8,有二个问题:1.解压缩文件的图标如何改成setup.exe文件图标?2.我口袋里只有RMB,没有美元,谁有注册码?^_^
- 如何使用ADO连接SQL Server 2000数据库?
- ListView的基础问题~!
麻烦讲详细点,菜鸟谢谢!
导出到excel就直接用ADO操作excel表就行了
请参照李维的ado/mts/com+那本书
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls,comobj;type
TForm1 = class(TForm)
Button1: TButton;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
ADOTable1: TADOTable;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure dbgridtoexcel(dbgrid1:tdbgrid);
var
exl:variant;
i,j,n:integer;
begin
exl:=CreateOLEObject('Excel.Application');
exl.WorkBooks.Add;
exl.Visible:=true;
//标题
for i:=1 to dbgrid1.Columns.Count do
begin
exl.Cells[1,i].value:=dbgrid1.Columns[i-1].Title.Caption;
end;
//数据
dbgrid1.DataSource.DataSet.First;
n:=2;
while not dbgrid1.DataSource.DataSet.Eof do
begin
for i:=1 to dbgrid1.FieldCount do
begin
exl.Cells[n,i].value:=dbgrid1.Fields[i-1].AsString;
end;
inc(n);
dbgrid1.DataSource.DataSet.Next;
end;
exl.Cells[n,1].value:='合计记录:'+inttostr(dbgrid1.DataSource.DataSet.RecordCount)+'条';
end;
procedure TForm1.Button1Click(Sender: TObject);begin
dbgridtoexcel(dbgrid1);
end;end.
比如DBGrid的某一行 1 2 3 共三列
一个TStrings a
a.add('1'#9+'2'+#9+'3');