if opendialog1.Execute then
     begin
        filename:=opendialog1.FileName;
        ExcelApplication1.Workbooks.Open(FileName,null,null,null,null,null,null,null,null,null,null,null,null,0);
        excelapplication1.Visible[0]:=true;
        ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
        ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[day] as _Worksheet);
      end;

解决方案 »

  1.   

    excelapplication,和excelworksheet ,excelworkbook该如何用
      

  2.   

    ExcelApplication1.Connect;
        ExcelApplication1.Visible[0]:=False;     if  OpenDialog1.Execute then
          begin
          ExcelApplication1.Workbooks.Add(OpenDialog1.FileName,0);
          ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
          ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as  _Worksheet);
          end;
          row:=2;
          s1:='';
        Table1.Active := True;
             s1:=ExcelWorksheet1.Cells.Item[row,1];
          while s1<>''   do
           begin
           Queryc.Close;
           Queryc.SQL.Clear;
           Queryc.SQL.Add('select FromProvince  from FromCity where DataDate= :dataa and  FromProvince= :province and FromCity= :city ' );
           Queryc.Prepare;
            Queryc.Params[0].AsDateTime:=StrToDate(Edit1.Text);
    ('province').AsString:=ExcelWorksheet1.Cells.Item[row,1];
            Queryc.Params[1].AsString:=ExcelWorksheet1.Cells.Item[row,1];
            Queryc.Params[2].AsString:=ExcelWorksheet1.Cells.Item[row,2];
           Queryc.Open;
           Queryc.First;
          if   Queryc.Eof then
          begin
                Table1.Insert;
         Table1.FieldValues['DataDate']:=StrToDate(Edit1.Text);
         Table1.FieldValues['FromProvince']:=ExcelWorksheet1.Cells.Item[row,1];
         Table1.FieldValues['FromCity']:=
         ExcelWorksheet1.Cells.Item[row,2];
         Table1.FieldValues['UseCount']:=
        ExcelWorksheet1.Cells.Item[row,3];
         Table1.FieldValues['UseTime']:=
         ExcelWorksheet1.Cells.Item[row,4];
         Table1.FieldValues['UseAmount']:=
         ExcelWorksheet1.Cells.Item[row,5];
         Table1.post;
         end;
         row:=row+1;
         s1:=ExcelWorksheet1.Cells.Item[row,1];
         end;
     Table1.Active := False;
     ExcelWorksheet1.Disconnect;
     ExcelWorkbook1.Disconnect;
     ExcelApplication1.Quit;
     ExcelApplication1.Disconnect;
      

  3.   

    你可以用
    shellexecut(handle,nil,'*.xls',nil,nil,sw_shownormal);
      

  4.   

    ExcelApplication1.Connect;
        ExcelApplication1.Visible[0]:=False;     if  OpenDialog1.Execute then
          begin
          ExcelApplication1.Workbooks.Add(OpenDialog1.FileName,0);
          ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
          ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as  _Worksheet);
          end;
          row:=2;
          s1:='';
        Table1.Active := True;
             s1:=ExcelWorksheet1.Cells.Item[row,1];
          while s1<>''   do
           begin
                Table1.Insert;
         Table1.FieldValues['DataDate']:=StrToDate(Edit1.Text);
         Table1.FieldValues['FromProvince']:=ExcelWorksheet1.Cells.Item[row,1];
         Table1.FieldValues['FromCity']:=
         ExcelWorksheet1.Cells.Item[row,2];
         Table1.FieldValues['UseCount']:=
        ExcelWorksheet1.Cells.Item[row,3];
         Table1.FieldValues['UseTime']:=
         ExcelWorksheet1.Cells.Item[row,4];
         Table1.FieldValues['UseAmount']:=
         ExcelWorksheet1.Cells.Item[row,5];
         Table1.post;
         row:=row+1;
         s1:=ExcelWorksheet1.Cells.Item[row,1];
         end;
     Table1.Active := False;
     ExcelWorksheet1.Disconnect;
     ExcelWorkbook1.Disconnect;
     ExcelApplication1.Quit;
     ExcelApplication1.Disconnect;
      

  5.   

    请问在C++Builder中怎么打开已经存在的excel文件?