procedure TForm_jkc.EXCEL1Click(Sender: TObject);
var
ExcelApplication1: TExcelApplication;
ExcelWorkbook1: TExcelWorkbook;
ExcelWorksheet1: TExcelWorksheet;begin;
Try ExcelApplication1 := TExcelApplication.Create(Application);
ExcelWorksheet1 := TExcelWorksheet.Create(Application);
ExcelWorkbook1 := TExcelWorkbook.Create(Application); ExcelApplication1.Connect;
Except
MessageDlg('Excel may not be installed',
mtError, [mbOk], 0);
Abort;
End;
ExcelApplication1.Visible[0] := True;
ExcelApplication1.Caption := 'Excel Application';
ExcelApplication1.Workbooks.Add(EmptyParam,0);ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,0) ); ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _Worksheet);
with ExcelWorkSheet1.QueryTables.Add(adodm.Query_jkc.Recordset,ExcelWorkSheet1.Range['A4', EmptyParam], EmptyParam) do
begin
FieldNames:=false;
refresh(false);
end; ExcelWorksheet1.Rows.AutoFit;
ExcelApplication1.Disconnect;
ExcelApplication1.Free;
ExcelWorksheet1.Free;
ExcelWorkbook1.Free;end;
==========
var
ExcelApplication1: TExcelApplication;
ExcelWorkbook1: TExcelWorkbook;
ExcelWorksheet1: TExcelWorksheet;begin;
Try ExcelApplication1 := TExcelApplication.Create(Application);
ExcelWorksheet1 := TExcelWorksheet.Create(Application);
ExcelWorkbook1 := TExcelWorkbook.Create(Application); ExcelApplication1.Connect;
Except
MessageDlg('Excel may not be installed',
mtError, [mbOk], 0);
Abort;
End;
ExcelApplication1.Visible[0] := True;
ExcelApplication1.Caption := 'Excel Application';
ExcelApplication1.Workbooks.Add(EmptyParam,0);ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,0) ); ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _Worksheet);
with ExcelWorkSheet1.QueryTables.Add(adodm.Query_jkc.Recordset,ExcelWorkSheet1.Range['A4', EmptyParam], EmptyParam) do
begin
FieldNames:=false;
refresh(false);
end; ExcelWorksheet1.Rows.AutoFit;
ExcelApplication1.Disconnect;
ExcelApplication1.Free;
ExcelWorksheet1.Free;
ExcelWorkbook1.Free;end;
==========
var
bExcelVisible:boolean;
i,j:integer;
begin
if application.MessageBox('启动Excel界面吗?','请回答',MB_YESNO + MB_DEFBUTTON2) <> IDNO then
bExcelVisible:=true
else bExcelVisible:=false;
Try
ExcelApplication1.Connect;
Except
MessageDlg('EXCEL可能未安装!',mtError, [mbOk], 0);
Abort;
End;
ExcelApplication1.Workbooks.Add(null,0);
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
//增加一个工作页
try
ExcelWorkBook1.WorkSheets.Add(null,ExcelWorkBook1.WorkSheets[ExcelWorkBook1.Worksheets.Count],null,null,0);
except
Application.MessageBox('创建Excel新页失败','错误警报',MB_OK);
exit;
end;
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _Worksheet);
for i:=0 to stringgrid1.ColCount-1 do
for j:=0 to stringgrid1.RowCount-1 do
ExcelWorksheet1.Cells.Item[j+1,i+1].Value := stringgrid1.Cells[i,j];
if bExcelVisible then
ExcelApplication1.visible[0]:=true //显示EXCEL程序
else
begin
SaveDialog1.FileName:=StaticText1.Caption;
if SaveDialog1.Execute then
begin
try
ExcelWorkSheet1.SaveAs(SaveDialog1.FileName);
Application.MessageBox('保存成功','恭喜',MB_OK);
except
Application.MessageBox('保存失败','错误警报',MB_OK);
end;
end;
//此时要自己关闭Excel
ExcelApplication1.Disconnect;
ExcelApplication1.Quit;
end;
end;