如何用delphi5中的servers组件,在线急...(50分)

J

jerryT

Unregistered / Unconfirmed
GUEST, unregistred user!
如何用delphi5中的server组件打开Excel文件中的某一工作表,并在数据导入数据库后关闭
Excel程序?
如果用com打开该怎样关闭Excel程序?
 
是server组件还是OLE?
 
两者都是
请问:用控件和OLE两种方法,取得到某一列的行数,该如何写?
 
uses comobj;
{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
MSExcelsFileName: string;
i: integer;
begin
MSExcelsFileName := sDir + '/xxx';//xxx为excel文件名
try
MSExcel := createOleObject('Excel.Application');
workBook := CreateOleObject('Excel.Sheet');
MSExcel.visible := true;
except
showmessage('你的机器没有安装MS Excel');
exit;
end;
try
//新建一个MSExcelS文件,并将数据库数据写入,最后关闭它');
workBook := MSExcel.workBooks.add;
ProgressBar1.Visible := true;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select * From aaa');
if Query1.Prepared = False then Query1.Prepare;
query1.open;
query1.First;
query1.open;
query1.First;
MSExcel.cells(2, 1) := '编号';
MSExcel.cells(2, 2) := '姓名';
MSExcel.cells(2, 3) := '单位';
MSExcel.cells(2, 4) := '奖金';
for i := 1 to query1.RecordCount do
begin
MSExcel.cells(2 + i, 1) := query1.FieldByName('no').asstring;
MSExcel.cells(2 + i, 2) := query1.FieldByName('name').asstring;
MSExcel.cells(2 + i, 3) := query1.FieldByName('dw').asstring;
MSExcel.cells(2 + i, 4) := query1.FieldByName('qj').asinteger;
query1.Next
end;
WorkBook.saveas(MSExcelsFileName);
except
showMessage('不能正确操作Excel文件.可能是该文件已被其他程序打开');
workBook.close;
end;
WorkBook.close;
MSExcel.Quit;
MSExcel := unassigned;
end;
 
接受答案了.
 
顶部