下面是我得程序  try
    begin
      ExcelApplication1.Connect;//打开EXCEL应用程序
      ExcelApplication1.Caption:='Excel Application';
      ExcelWorkBook1.ConnectTo(ExcelApplication1.Workbooks.Open('aa.xls',EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,0));
      ExcelWorksheet1.ConnectTo(ExcelWorkBook1.Activesheet as _Worksheet);
      qr_year.Query1.First;
      i:=0;
      while not qr_year.Query1.Eof do
        begin
          ExcelApplication1.Cells[i,1].Value:=qr_year.Query1.FieldByName('autoid').AsString;//×××××××出错,[Error] yearbao.pas(225): Class does not have a default property
          i:=i+1;
          qr_year.Query1.Next;
        end;
    end;
  finally
    begin
      ExcelApplication1.Quit;
      ExcelWorksheet1.Disconnect;
      ExcelWorkbook1.Disconnect;
      ExcelApplication1.Disconnect;
    end;
  end;我其实就是想打开一个已经存在的excel文件,并向里边写入数据库的一些信息
请那位高手看看,谢谢,最好有好使的源代码

解决方案 »

  1.   

    ExcelApplication1.Cells[i,1].Value
    改为:
    ExcelApplication1.Cells.Item[i,1]—————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    —————————————————————————————————
      

  2.   

    改完后还是出错:old error 800a03ec
    还是同样的位置
      

  3.   

    procedure Tnewtable.ButtonCreateTableClick(Sender: TObject);
    var
     colcount,m:integer;//字段量
      ExcelApplication1: TExcelApplication;
      ExcelWorksheet1: TExcelWorksheet;
      ExcelWorkbook1: TExcelWorkbook;
    begin
    m:=0;
      try
        ExcelApplication1 := TExcelApplication.Create(Application);
        ExcelWorksheet1 := TExcelWorksheet.Create(Application);
        ExcelWorkbook1 := TExcelWorkbook.Create(Application);
        ExcelApplication1.Connect;
      except
        Application.Messagebox('Excel 没有安装!','Hello', MB_ICONERROR + mb_Ok);
        Abort;;
      end; screen.Cursor:=crHourGlass;
        ExcelApplication1.Workbooks.Add(EmptyParam, 0);
        ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
        ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _worksheet);
      If SaveDialog1.Execute then
      begin
      for colcount:=0 to dbgrid1.Columns.Count-1 do
      begin
      ExcelWorksheet1.Columns.AutoFit;
         with excelworksheet1 do
           begin
           Cells.item[1,colcount+1]:=dbgrid1.Columns[colcount].FieldName;
           Cells.item[1,colcount+1].font.size := '10';
          end;
      end;
      excelworksheet1.range[excelworksheet1.cells.Item[1,1],excelworksheet1.cells.Item[1,6]].Font.name:='宋体';
       Excelworksheet1.SaveAs(savedialog1.FileName);
        ExcelApplication1.Disconnect;
        ExcelApplication1.Quit;
        ExcelApplication1.Free;
        ExcelWorksheet1.Free;
        ExcelWorkbook1.Free;
        screen.Cursor:=crdefault;
      end;   ex_upload('bom',datamodule2.bom,'name');
      if (bool=true) and (ins=false) then
       begin
        datamodule2.bom.edit;
        datamodule2.bom.Fields[0].AsString:=remotefnam;
        datamodule2.bom.Fields[1].AsString:=temp_dir;
        datamodule2.bom.Post; end;
      if (bool=true) and (ins=true) then
       begin
        datamodule2.bom.insert;
        datamodule2.bom.Fields[0].AsString:=remotefnam;
        datamodule2.bom.Fields[1].AsString:=temp_dir;
        datamodule2.bom.Post;
        end;
      viewchange(mainapp.ListView1,datamodule2.bom,m);
     Close;
    end;