在Delphi數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的數(shù)據(jù)錄入過(guò)程中,有些數(shù)據(jù)是保存在Excel中的;有些是保存在紙張上的;還有一些是需要新增加的,由于各條記錄之間有大量的重復(fù)數(shù)據(jù),如果每條記錄都讓錄入人員全部手工錄入,其間的重復(fù)勞動(dòng)是相當(dāng)大的,還降低了工作效率。下面就這個(gè)問(wèn)題進(jìn)行論述。
1、利用Delphi調(diào)用Excel
Delphi中已經(jīng)帶了Word與PowERPoint的例子,因?yàn)镋xcel的調(diào)用與這兩個(gè)應(yīng)用服務(wù)器的調(diào)用略有不同,所以也可以利用Delphi調(diào)用Excel。
步驟如下:
(1) 創(chuàng)建一個(gè)普通Application.
(2) 在Form中分別放入ExcelApplication, ExcelWorkbook和ExcelWorksheet.
(3) 連接Excel.
打開(kāi)Excel.
Try
ExcelApplication1.Connect;
Except
End; ExcelApplication1.Visible[0]:=True;
增加一個(gè)Workbook.
ExcelWorkbook1.ConnectTo(ExcelApplication1 Workbooks.Add(EmptyParam,0));
添加一個(gè)Worksheet.
Var Temp_Worksheet: _WorkSheet;
Begin
Try
Temp_Worksheet:=ExcelWorkbook1.
WorkSheets.Add(EmptyParam,
EmptyParam,EmptyParam,EmptyParam,0)
as _WorkSheet;
ExcelWorkSheet1.ConnectTo(Temp_WorkShee);
Except
ShowMessage(′Failure′); End;
關(guān)閉Excel.
Try
ExcelApplication1.Quit;
ExcelWorksheet1.Disconnect;
ExcelWorkbook1.Disconnect;
ExcelApplication1.Disconnect;
Except
End;
End;
(4) 對(duì)Excel的一些操作:
選擇某一工作簿中的一個(gè)工作表,然后對(duì)某一單元格進(jìn)行賦值及取值。最后選擇某一區(qū)域作以下操作:
ExcelWorkSheet1.Range[′A1′,′C1′].Select;
打開(kāi)一個(gè)Excel文件.
if OpenDialog1.Execute then
Begin
Try
ExcelWorkBook1.ConnectTo(Excel
Application1.Workbooks.Open(OpenDialog1FileName,EmptyParam,EmptyParam,Empty Param, EmptyParam, EmptyParam,
EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,
EmptyParam,EmptyParam,0));
ExcelWorkSheet1.ConnectTo(ExcelWorkBook1.Activesheet as _Worksheet);
Except;
End;
1、利用Delphi調(diào)用Excel
Delphi中已經(jīng)帶了Word與PowERPoint的例子,因?yàn)镋xcel的調(diào)用與這兩個(gè)應(yīng)用服務(wù)器的調(diào)用略有不同,所以也可以利用Delphi調(diào)用Excel。
步驟如下:
(1) 創(chuàng)建一個(gè)普通Application.
(2) 在Form中分別放入ExcelApplication, ExcelWorkbook和ExcelWorksheet.
(3) 連接Excel.
打開(kāi)Excel.
Try
ExcelApplication1.Connect;
Except
End; ExcelApplication1.Visible[0]:=True;
增加一個(gè)Workbook.
ExcelWorkbook1.ConnectTo(ExcelApplication1 Workbooks.Add(EmptyParam,0));
添加一個(gè)Worksheet.
Var Temp_Worksheet: _WorkSheet;
Begin
Try
Temp_Worksheet:=ExcelWorkbook1.
WorkSheets.Add(EmptyParam,
EmptyParam,EmptyParam,EmptyParam,0)
as _WorkSheet;
ExcelWorkSheet1.ConnectTo(Temp_WorkShee);
Except
ShowMessage(′Failure′); End;
關(guān)閉Excel.
Try
ExcelApplication1.Quit;
ExcelWorksheet1.Disconnect;
ExcelWorkbook1.Disconnect;
ExcelApplication1.Disconnect;
Except
End;
End;
(4) 對(duì)Excel的一些操作:
選擇某一工作簿中的一個(gè)工作表,然后對(duì)某一單元格進(jìn)行賦值及取值。最后選擇某一區(qū)域作以下操作:
ExcelWorkSheet1.Range[′A1′,′C1′].Select;
打開(kāi)一個(gè)Excel文件.
if OpenDialog1.Execute then
Begin
Try
ExcelWorkBook1.ConnectTo(Excel
Application1.Workbooks.Open(OpenDialog1FileName,EmptyParam,EmptyParam,Empty Param, EmptyParam, EmptyParam,
EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,
EmptyParam,EmptyParam,0));
ExcelWorkSheet1.ConnectTo(ExcelWorkBook1.Activesheet as _Worksheet);
Except;
End;

