Ver Mensaje Individual
  #2  
Antiguo 19-12-2006
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 504
Reputación: 22
lgarcia Va por buen camino
Importar a SQL

Hola:

Ahi te envio el siguiente codigo que lo he ido conformando con cosas del club

Código:
var
  x: Integer;
  Excel : Variant;
  Archivo: String;
procedure TFormEntradaFecha.OKBtnClick(Sender: TObject);
var
  j: Integer;
  hoja: Variant;
begin
  try
    Excel := CreateOleObject('Excel.Application');
  except
    Excel.Quit;
    showmessage('No se pudo crear el Objecto Excel.');
    raise;
  end;
  if OpenDialogXls.Execute then Archivo:= OpenDialogXls.FileName
  else exit;
  NombreFichero:= ExtractFileName(Archivo);
  Excel.Workbooks.Open(Archivo);
  j:= MostrarTerritoriounidades.Value + 8;
  try
    with InsTabla1 do
    begin
      Hoja:= ExcelApp.Worksheets.Item['tabla1'];
      Hoja.Activate;
      Close;
      Parameters.ParamByName('@territorio').Value:= cbTerritorio.KeyValue;
      Parameters.ParamByName('@fecha').Value:= Int(DTP1.Date);
      Parameters.ParamByName('@altas').Value:= Excel.Cells[j,2].Value;
      Parameters.ParamByName('@bajas').Value:= Excel.Cells[j,3].Value;
      Parameters.ParamByName('@movimientos').Value:= Excel.Cells[j,4].Value;
      Parameters.ParamByName('@dirigtotal').Value:= Excel.Cells[j,5].Value;
      Parameters.ParamByName('@dirigmuj').Value:= Excel.Cells[j,6].Value;
      Parameters.ParamByName('@tectotal').Value:= Excel.Cells[j,7].Value;
      Parameters.ParamByName('@tecmuj').Value:= Excel.Cells[j,8].Value;;
      Parameters.ParamByName('@admontotal').Value:= Excel.Cells[j,9].Value;
      Parameters.ParamByName('@admonmuj').Value:= Excel.Cells[j,10].Value;
      Parameters.ParamByName('@servtotal').Value:= Excel.Cells[j,11].Value;;
      Parameters.ParamByName('@servmuj').Value:= Excel.Cells[j,12].Value;;
      Parameters.ParamByName('@obtotal').Value:= Excel.Cells[j,13].Value;;
      Parameters.ParamByName('@obmuj').Value:= Excel.Cells[j,14].Value;;
      Parameters.ParamByName('@militares').Value:= Excel.Cells[j,15].Value;;
      Parameters.ParamByName('@promedio').Value:= Excel.Cells[j,16].Value;;
      Parameters.ParamByName('@promacum').Value:= Excel.Cells[j,17].Value;;
      Parameters.ParamByName('@indirectos').Value:= Excel.Cells[j,18].Value;;
      Parameters.ParamByName('@porciento').Value:= Excel.Cells[j,19].Value;;
      Prepared:= True;
      ExecProc;
    end;
    with InsTabla2 do
    begin
      Hoja:= ExcelApp.Worksheets.Item['tabla2'];
      Hoja.Activate;
      Close;
      Parameters.ParamByName('@territorio').Value:= cbTerritorio.KeyValue;
      Parameters.ParamByName('@fecha').Value:= Int(DTP1.Date);
      Parameters.ParamByName('@cajeroa').Value:= Excel.Cells[j,2].Value;
      Parameters.ParamByName('@cajerob').Value:= Excel.Cells[j,3].Value;
      Parameters.ParamByName('@cajeror').Value:= Excel.Cells[j,4].Value;
      Parameters.ParamByName('@veedor').Value:= Excel.Cells[j,5].Value;
      Parameters.ParamByName('@boveda').Value:= Excel.Cells[j,6].Value;
      Parameters.ParamByName('@jefetrip').Value:= Excel.Cells[j,7].Value;
      Parameters.ParamByName('@choferesc').Value:= Excel.Cells[j,8].Value;;
      Parameters.ParamByName('@asv').Value:= Excel.Cells[j,9].Value;
      Parameters.ParamByName('@jefeinst').Value:= Excel.Cells[j,10].Value;
      Parameters.ParamByName('@jefegrupo').Value:= Excel.Cells[j,11].Value;;
      Parameters.ParamByName('@asp').Value:= Excel.Cells[j,12].Value;;
      Parameters.ParamByName('@oficialguardia').Value:= Excel.Cells[j,13].Value;;
      Parameters.ParamByName('@cctv').Value:= Excel.Cells[j,14].Value;;
      Parameters.ParamByName('@jefemens').Value:= Excel.Cells[j,15].Value;;
      Parameters.ParamByName('@chofermens').Value:= Excel.Cells[j,16].Value;;
      Parameters.ParamByName('@jefepiso').Value:= Excel.Cells[j,17].Value;;
      Parameters.ParamByName('@cajerov').Value:= Excel.Cells[j,18].Value;;
      Prepared:= True;
      ExecProc;
    end;
   
    Excel.quit;
    ShowMessage('El fichero ha sido importado exitosamente');
  except
    ShowMessage('      !!!!! ATENCION !!!!! ' + chr(13) +
                'El fichero no pudo ser importado' + chr(13) +
                'Revise el fichero de importación');
  end;
end;
En el uses de la implementacion deben agregar estas dos units Excel97, ComObj
Responder Con Cita