写下lazarus里调用com组件。这个大致和vb6里面的写法差不多。上手挺快。也是只适用于win平台。下面我就写下读取excel相关数据来举个例子。
program excel;
uses comobj,sysutils,Variants;
var xlapp :olevariant;
wb:variant;
sht:Variant;
cell:variant;
i:byte;
path: variant;
begin
path:='C:\Users\FanXiaoLei\Desktop\1.xlsm';
xlapp:=CreateOleObject('Excel.Application');
try
xlapp.visible :=false;
xlapp.DisplayAlerts := False;
wb:=xlapp.WorkBooks.Open(path); //取工作簿
writeln(wb.Name+Utf8Decode('工作簿有')+IntToStr(wb.Sheets.Count)+Utf8Decode('个工作表!'));
for i:=1 to wb.Sheets.Count do
begin
sht:=wb.Sheets.Item(i); //取表
writeln('Sheet '+IntToStr(i)+' name:'+sht.Name);
cell:= sht.Range('A2'); //取单元格
writeln(sht.Name+Utf8Decode('的')+cell.Address+Utf8Decode('单元格值为:')+VarToStr(cell.Value));
end;
finally
wb.Close;
xlapp.Quit;
xlapp:=Unassigned;
end;
readln;
end.
运行结果: