ExcelApplication1.Workbooks.Open (c:\a.xls
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
    EmptyParam,EmptyParam,EmptyParam,EmptyParam,0);
我找到的是以上的,但不懂如何用!var
  str:string;
begin
if opendialog1.Execute then
begin
    str:=opendialog1.FileName;
    excelapplication1.Connect;
    excelapplication1.Visible[0]:=true;
    ExcelApplication1.Workbooks.Open(str);
end;
这样做,ExcelApplication1.Workbooks.Open(str);这里又出错!

解决方案 »

  1.   

    procedure openExcel(filename:string);
    var
      A,S:Variant;//application;sheet
    begin
      try
        A:=createOleObject('Excel.Application');
        s:=CreateOleObject('Excel.Sheet');
      except
        showmessage('未安装MicroSoft Excel');
        Exit;
      end;
      A.WorkBooks.open(filename);
      A.visible:=true;
    end;
      

  2.   

    excelapplication1.Workbooks.Open(opendialog1.FileName,null,null,null,null,null,null,null,null,null,null,null,null,0);
    ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
    ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _Worksheet);然后开始取数