初学delphi属菜鸟级,问题太简单了大家不要见怪
1、首先是操作Excel时(如读写)需要写SQL语句与一般的好像有些步同?希望能有例子
2、如何连接设有密码保护的Excel?密码写在ConnectionString里?
3、可不可以调用某些函数完成如Excel里那样方便的计算统计功能?如何实现?

解决方案 »

  1.   

    把loginprompt属性设为false 试试
      

  2.   

    to glfwyz()
    没用:(to setfocus(東不懂)
    谢谢 找找先
      

  3.   

    procedure TstartForm.SpeedButton10Click(Sender: TObject);var MSExcel:Variant;beginMSExcel:=CreateOLEObject('Excel.Application');MSExcel.WorkBooks.Add;MSExcel.Visible:=True;  for i:=5 to Query1.RecordCount+4 dobeginMsExcel.Cells[i,1].value:=Query1.FieldByName('cpxhno').Asstring;MsExcel.Cells[i,2].value:=Query1.FieldByName('cpname').Asstring;MsExcel.Cells[i,3].value:=Query1.FieldByName('cpunit').Asstring;MsExcel.Cells[i,4].value:=Query1.FieldByName('htnumber').Asstring;MsExcel.Cells[i,5].value:=Query1.FieldByName('number').Asstring;MsExcel.Cells[i,6].value:=Query1.FieldByName('ljno').Asstring;end;end;退出Excel:MSExcel.Quit;MSExcel:=Unassigned; //释放VARIANT变***************先加入ExcelApplication1;ExcelWorkbook1;ExcelWorksheet1;procedure TForm1.n1Click(Sender: TObject);varrow,brea:integer;a,b,c,d,e:shortstring;beginif table1.active = True then begintryExcelApplication1.Connect;ExceptExcelApplication1.free;Abort;end;brea := strtoint(inputbox('输入需导入行数!','行数','10'));if brea<1 then brea := 10;ProgressBar1.Visible := True;ProgressBar1.Max := brea;ExcelApplication1.Visible[0] := true;for row := 2 to brea dobegina := ExcelWorksheet1.Cells.Item[row,2];b := ExcelWorksheet1.Cells.Item[row,1];c := ExcelWorksheet1.Cells.Item[row,3];d := ExcelWorksheet1.Cells.Item[row,4];e := ExcelWorksheet1.Cells.Item[row,5];form1.show;table1.AppendRecord([a,b,c,d,e]);ProgressBar1.Position := row-1;end;ProgressBar1.Hide;end;end;*****************varMSExcel: Variant;i: Integer;beginOpenDialog1.Filter:='*.XLS|*.XLS';OpenDialog1.DefaultExt:='XLS';if OpenDialog1.Execute thenbeginMSExcel:=CreateOLEObject('Excel.Application');MSExcel.WorkBooks.Open(OpenDialog1.FileName);MSExcel.Visible:=False;//从有数据的行逐行读入数据for i:=1 to MSExcel.ActiveSheet.UsedRange.Rows.Count dobeginEdit2.Text:=Edit2.Text+MSExcel.Cells[i,1].Value;end;MSExcel.ActiveWorkBook.Close;MSExcel.Quit;end;end; 
    **********************************************
    *等我有钱了,我就站在天安门广场挨个给大家发钱*
    **********************************************
      

  4.   

    to hammer_shi(@农业专家@)
    谢谢 很有启发 好代码收藏先
    不过我想用ADO通过SQL访问并操作Excel,把它做为数据源文件。这样是不是不可行?