Delphi操作Excel数据

职场菊菊子2024-04-09 22:53:39  97

获取WPS逻辑

Delphi中操作WPS,可以使用OLE对象提供的方法,GetActiveOleObject用于获取打开的OLE对象,CreateOleObject则用于新建OLE对象。如果当前OLE存在,则使用GetActiveOleObject获取,否则使用CreateOleObject新建。

界面设计

时间仓促,界面设计很简单,只有一个按钮。

效果展示

实现代码

unit wps_app;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, ComObj;type TForm1 = class(TForm) Test: TButton; procedure TestClick(Sender: TObject); function GetOrCreateExcel:Variant; private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}// 获取当前打开的Excel。// 如果没有打开的,就新建Excel。function TForm1.GetOrCreateExcel: Variant;var wps : Variant;begin try wps := GetActiveOleObject('Excel.Application'); // get current except on ex: Exception do wps := CreateOleObject('Excel.Application'); // create new end; wps.Visible := True; Result := wps;end;procedure TForm1.TestClick(Sender: TObject);var wps, wb, sht: Variant; I: Integer;begin try wps := GetOrCreateExcel; if wps.Workbooks.Count = 0 then wps.Workbooks.Add; wb := wps.Workbooks[1]; sht := wb.Worksheets[1]; sht.Range['A1'] := 'Time'; sht.Range['B1'] := 'ID'; for I := 2 to 10 do begin sht.Cells[I,1] := FormatDateTime('yyyy-MM-dd HH:nn:ss', Now); sht.Cells[I,2] := I-1; end; finally wps := unassigned; end;end;end.

转载此文是出于传递更多信息目的。若来源标注错误或侵犯了您的合法权益,请与本站联系,我们将及时更正、删除、谢谢。
https://www.414w.com/read/211454.html
0
最新回复(0)