源码在此
Try
Excel:=CreateOleObject('Excel.Application');
Except
Application.MessageBox('出现错误,请检查电脑是否安装excel软件','提示',MB_OK);
ExcelPanel.Visible:=False;
Exit;
End;
Excel.Visible :=false;
Excel.Workbooks.Add;
Excel.Workbooks[1].WorkSheets[1].Name :='test';
Sheet:=Excel.Workbooks[1].WorkSheets[1];
StopExcel:=False;
for I:=0 to D_Dbgrid.Columns.Count-1 do
Begin
// Sheet.Columns[i+1].ColumnWidth:=D_Dbgrid.Columns[i].Width;
sheet.cells[1,I+1]:=D_Dbgrid.Columns[i].Title.Caption;
End;
Gau.MaxValue:=C_client.RecordCount;
gau.Progress:=0;
C_client.First;
x:=1;
While not C_client.Eof do
Begin
for I:=0 to D_Dbgrid.Columns.Count-1 do
Begin
Sheet.cells[x+1,I+1]:=D_Dbgrid.Columns.Items[i].Field.AsString;
End;
gau.Progress:=gau.Progress+1;
x:=x+1;
C_Client.Next;
Application.ProcessMessages;
If StopExcel then
Begin
If Application.MessageBox('是否停止导出数据库?','提示',MB_yesno+MB_iconerror)=idyes then
Begin
Break;
End
Else
StopExcel:=False;
End;
End;
try
Excel.ActiveWorkbook.SaveAs(filename);
Except
Excel.Quit;
End;
Excel.Quit;
ExcelPanel.Visible:=False;
Try
Excel:=CreateOleObject('Excel.Application');
Except
Application.MessageBox('出现错误,请检查电脑是否安装excel软件','提示',MB_OK);
ExcelPanel.Visible:=False;
Exit;
End;
Excel.Visible :=false;
Excel.Workbooks.Add;
Excel.Workbooks[1].WorkSheets[1].Name :='test';
Sheet:=Excel.Workbooks[1].WorkSheets[1];
StopExcel:=False;
for I:=0 to D_Dbgrid.Columns.Count-1 do
Begin
// Sheet.Columns[i+1].ColumnWidth:=D_Dbgrid.Columns[i].Width;
sheet.cells[1,I+1]:=D_Dbgrid.Columns[i].Title.Caption;
End;
Gau.MaxValue:=C_client.RecordCount;
gau.Progress:=0;
C_client.First;
x:=1;
While not C_client.Eof do
Begin
for I:=0 to D_Dbgrid.Columns.Count-1 do
Begin
Sheet.cells[x+1,I+1]:=D_Dbgrid.Columns.Items[i].Field.AsString;
End;
gau.Progress:=gau.Progress+1;
x:=x+1;
C_Client.Next;
Application.ProcessMessages;
If StopExcel then
Begin
If Application.MessageBox('是否停止导出数据库?','提示',MB_yesno+MB_iconerror)=idyes then
Begin
Break;
End
Else
StopExcel:=False;
End;
End;
try
Excel.ActiveWorkbook.SaveAs(filename);
Except
Excel.Quit;
End;
Excel.Quit;
ExcelPanel.Visible:=False;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货