Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-04-2017
marcelocarazas marcelocarazas is offline
Miembro
NULL
 
Registrado: jul 2014
Posts: 27
Poder: 0
marcelocarazas Va por buen camino
importar excel datos numericos

Buenas tardes amigos del foro,
estoy trabajando con importar archivos excel utilizo el siguiente código

Código Delphi [-]

const
  xlCellTypeLastCell = $0000000B;
var
 Excel, Sheet: OLEVariant;
 CantRow, CantCol, i, j, k, l : Integer;
 RangoMatriz : Variant;
 fileName, nro_carga, cadena, vde, vdeCod, MspAPP : String;
 LastCell : Variant;
begin
  openDialog1 := TOpenDialog.Create(self);
  
  openDialog1.InitialDir := GetCurrentDir;
  
  openDialog1.Options := [ofAllowMultiSelect];
  OpenDialog1.Filter := '*.xlsx';
  openDialog1.Filter :=  'Archivos Excel 2013|*.xlsx|Archivos Excel 2007|*.xls';
  proLimpiarGrid(sgDetalle);
  if not openDialog1.Execute
  then ShowMessage('La Operacion  Se cancelo')
  else
  begin
  
    l := 1;
    for i := 0 to openDialog1.Files.Count-1 do
    begin

      Excel := CreateOleObject('Excel.Application');
      fileName:= openDialog1.Files[i];
      Excel.Workbooks.Open(FileName);
      Sheet := Excel.Workbooks[ExtractFileName(FileName)].WorkSheets[1];
      Sheet.Cells.SpecialCells(xlCellTypeLastCell, EmptyParam).Activate;
      CantRow := Excel.ActiveCell.Row;
      CantCol := Excel.ActiveCell.Column;
      RangoMatriz := Excel.Range['A1', Excel.Cells.Item[CantRow,CantCol]].Value;
      nro_carga := RangoMatriz[8, 1];
      //j := 1;
      with sgDetalle do
      begin
        for j:= 18 to CantRow-1 do
        begin

          Cells[0, l] := IntToStr(j-1);
          cadena := RangoMatriz[j, 1];
          vde := Trim(UpperCase(MidStr(cadena, pos('-', cadena)+1, Length(cadena))));
          vdeCod := Trim(UpperCase(MidStr(cadena, 1, pos('-', cadena)-2)));

          Cells[1, l] := vde;
          Cells[2, l] := vdeCod;

          cadena := RangoMatriz[j, 2];
          vde := Trim(UpperCase(MidStr(cadena, pos('-', cadena)+1, Length(cadena))));
          vdeCod := Trim(UpperCase(MidStr(cadena, 1, pos('-', cadena)-2)));

          Cells[3, l] := vde;
          Cells[4, l] := vdeCod;

          cadena := nro_carga;
          vde :=  Trim(UpperCase(MidStr(cadena, pos(':', cadena)+1, Length(cadena))));

          Cells[5, l] := vde;
          Cells[6, l] :=  RangoMatriz[j, 5] + '0' ; // aqui no funciona no encuentra nada
          
          Inc(l);
    
   RowCount := RowCount + 1;
   end;

    end;

  end;
end;
  
  openDialog1.Free;
   Excel.Quit
  
  
end;

El problema que tengo es que el archivo excel tiene formato de numeros enteros y reales, al momento de pasarlo al stringgrid no me muestra nada es como no lo reconociera, con las cadenas de texto esta normal funciona bien pero con los numeros no funciona. No se que que estara mal alguien podria ayudarme. Gracias y saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Importar datos de excel a una DBGRID Soa Pelaez Varios 2 22-03-2016 13:02:40
Importar datos de Excel a un StringGrid. ingabraham Varios 4 19-06-2011 00:49:00
importar datos desde excel voldemmor Firebird e Interbase 3 03-02-2009 23:40:56
importar de excel a base de datos axel Varios 3 26-07-2006 09:47:49
importar datos de excel a mi aplicacion squenda Varios 2 11-12-2003 03:33:32


La franja horaria es GMT +2. Ahora son las 03:57:39.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi