怎么样实现用编程从excel导入到sqL_server中,从sqL_server中导出数据到excel我会,但不会从excel中导出数据到sqL_server,急,高分送。

解决方案 »

  1.   

    用sql server自己的导入导出工具啊
    在程序中也是可以调用该工具的知道选择数据源就可以了
      

  2.   

    http://expert.csdn.net/Expert/topic/1833/1833433.xml?temp=1.595706E-02
      

  3.   

    直接用sql语句就能做到
    下面是个查询的示例,它通过用于 Jet 的 OLE DB 提供程序查询 Excel 电子表格。insert into a
    SELECT * 
    FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
      'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')
      

  4.   


    procedure TstartForm.SpeedButton10Click(Sender: TObject); 
      var MSExcel:Variant; 
      begin 
      MSExcel:=CreateOLEObject('Excel.Application'); 
      MSExcel.WorkBooks.Add; 
      MSExcel.Visible:=True;   for i:=5 to Query1.RecordCount+4 do 
      begin 
      MsExcel.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); 
    var 
      row,brea:integer; 
      a,b,c,d,e:shortstring; 
    begin 
      if table1.active = True then begin 
        try 
          ExcelApplication1.Connect; 
        Except 
          ExcelApplication1.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 do 
        begin 
          a := 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; 
    ***************** 
    var 
    MSExcel: Variant; 
    i: Integer; 
    begin 
    OpenDialog1.Filter:='*.XLS|*.XLS'; 
    OpenDialog1.DefaultExt:='XLS'; 
    if OpenDialog1.Execute then 
    begin 
      MSExcel:=CreateOLEObject('Excel.Application'); 
      MSExcel.WorkBooks.Open(OpenDialog1.FileName); 
      MSExcel.Visible:=False; 
      //从有数据的行逐行读入数据 
      for i:=1 to MSExcel.ActiveSheet.UsedRange.Rows.Count do 
      begin 
        Edit2.Text:=Edit2.Text+MSExcel.Cells[i,1].Value; 
      end; 
      MSExcel.ActiveWorkBook.Close; 
      MSExcel.Quit; 
    end; 
    end; 
      

  5.   

    老兄,清楚点,要做程序,ole代码来实现,