Ver Mensaje Individual
  #1  
Antiguo 18-09-2007
Avatar de marceloalegre
[marceloalegre] marceloalegre is offline
Miembro Premium
 
Registrado: abr 2005
Ubicación: Mar del Plata - Argentina
Posts: 448
Reputación: 20
marceloalegre Va por buen camino
Post Problemas para abrir archivo EXCEL

Buenos Dias amigos

Les molesto porque estoy con el siguiente inconveniente:
Estoy procesando un archivo excel que cargo luego en otra estructura. El problema esta en que si la hoja en cuestion no se llama Hoja1 no abre el archivo. Para abrir el excel estoy usando un adoConnection y un adoDataset.
El codigo que uso es el siguiente:
Código Delphi [-]
  // aqui comienza el tratamiento del EXCEL
  ADODataSetXls.Active:=false;
  DMImportExcel.mdImportData.Close;
  DMImportExcel.mdImportData.Open;
  DMImportExcel.mdImportData.ReadOnly:=false;
  ADOConexionXls.ConnectionString:=ADOConexionXls.ConnectionString+';Data Source='+edArchivoOrigen.text;
  ADODataSetXls.Active:=true;
  ADODataSetXls.first;
  initProgress('Extrayendo Datos desde Excel.', ADODataSetXls.RecordCount);
 try
  while not ADODataSetXls.eof do
  begin
    DMImportExcel.mdImportData.Insert;
    if (ADODataSetXls.fields[0].AsString = '') or (ADODataSetXls.fields[1].AsInteger = 0) or (ADODataSetXls.fields[1].AsInteger = NULL) then
      ADODataSetXls.Next;
    DMImportExcel.mdImportDataDestino.value:= ADODataSetXls.fields[0].AsString; //Destino
    DMImportExcel.mdImportDataPrefijo.value:= ADODataSetXls.fields[1].AsInteger; //Prefijo
    DMImportExcel.mdImportDataPrecio.value:= ADODataSetXls.fields[2].AsFloat; //Precio
    DMImportExcel.mdImportData.Post;
    ADODataSetXls.Next;
    AdvanceProgress();
  end;
 except
  memoLog.Lines.Add('Error al Cargar Archivo Excel, verifique los datos del mismo!.');
  exit;
  end;

Si la hoja no se llama Hoja1 cuando hace el ADODataSetXls.Active:=true; el procedimiento se suspende sin dar error alguno... Si se llama Hoja1 anda todo correctamente!

Existe manera de que abra cualquier hoja (la primera de todas me interesa) dado que en el adoDataset tengo la propiedad CommandText en Hoja1$ ... pero me gustaria poder poner ahi, la primera hora sin importar el nombre...

GRACIAS!
__________________
Saludos.

Marcelo D. Alegre
Responder Con Cita