lazarus使用com组件

写下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.

 运行结果:

猜你喜欢

转载自blog.csdn.net/qq_24499417/article/details/105227468