Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Servers
Register FAQ Members List Calendar Guía de estilo Today's Posts

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 14/03/2012
Chaja Chaja is offline
Miembro
 
Join Date: Aug 2004
Location: Mar del Plata
Posts: 240
Poder: 23
Chaja Va por buen camino
Importacion desde Excel con ADO no importa algunos datos

Hola... escribo por que estaba buscadno un tema con referencia a la importacion de datos desde excel, y me encuentro con un tema. Uso la forma de hacerlos con los ADO comp. uso como se ha explicado en el foro y todo eso y se hace bien. todo bien, hasta que me sucede lo siguiente. No se por que algunos valors de la tabla de excel me los trae vacios, concretamenete los que son valores enteros, como controlo eso? la hoja de excel es:
codigo detalle precio
5588/1 Pelota Futbol CLUB 42.00
5589/1 Pelota Futbol Master 42.00
5589/2
Pelota Master Color 42.00
11 Pelota Fox Nº 4 52.00
17 Arco Futbol 1.83 x 1.22 x.60 149.00
17/A Arco Futbol 2.40 x 1.52 x 0.90 239.00
17/B Arco Futbol 3.02 x 2.07 x 1.18 349.00
18 Pelota Futsala Pro cosida 54.00
20
Silbato fox 40 striker 9.90
21 Collarines x 12 Unidades 18.90
22 Silbato fox 40 dolfin 18.90
23 Silbato Fox Micro C/C 24.90
24 Silbato Fox 40 classic 21.90
24D Silbato Fox 40 clasicc color surt x12 262.00
25 Silbato Fox 40 Pearl 11.90
26 Silbato Fox 40 con cronometro 139.00
27 Silbato fox Shark c/collarin 29.90
28 Collarin Fox x12 69.00

por ejemplo los codigo 11 17 24 25 26 27 28 no me levanta los datos , si el resto pero esos valores no. Para que lo haga debo ir al excel y editar uno por uno para que sea un texto. si son poco no pasa nada, pero como debo importar mas de 1000 lineas se complica.
Alguna sugerencia?

Gracias

Luis Roldan
Mar del Plata
Argentina
Reply With Quote
  #2  
Old 28/04/2012
CHECHE81's Avatar
CHECHE81 CHECHE81 is offline
Miembro
 
Join Date: May 2007
Location: Huauchinango, Puebla
Posts: 64
Poder: 20
CHECHE81 Va por buen camino
Smile

Saludos Chaja
Si nos muestras tu código podriamos ver como lo haces o talvez sea el tipo de dato que tienes en tu bd por ejemplo yo
para importar un excel a mysql utilizo algo como esto:

Código Delphi [-]
try
  AdoDataSet1.First;
  While not AdoDataSet1.EoF do
  begin

      cds1.Append;
     if not AdoDataSet1.FieldByName('campostring1').IsNull then
      cds1.FieldByName('campostring1').Value:= AdoDataSet1.FieldByName('campostring1').Value ;

      if not AdoDataSet1.FieldByName('campostring2').IsNull then
      cds1.FieldByName('campostring1').Value := AdoDataSet1.FieldByName('campostring2').Value ;
…

      if not AdoDataSet1.FieldByName('campoentero1').IsNull then
        cds1.FieldByName('campoentero1').Value := AdoDataSet1.FieldByName('campoentero1').Value ;
      …
      if not AdoDataSet1.FieldByName('campoentero2').IsNull then
        cds1.FieldByName('campoentero2').Value := AdoDataSet1.FieldByName('campoentero2').Value ;
      …


      cds1.post;

      AdoDataSet1.Next;

  end;

  Cerrar; //función para cerrar y refrescar el cds1 para mostrar los datos importados

  showmessage('Se agregaron los datos con éxito.');

  except
    ShowMessage('Verifique que los datos de su archivo de excel esten correctos, gracias.'); // Esto es si no coinciden
// los campos que estoy guardando en mi tabla  y los tengo en mi código de importación con los que tiene el excel, con 
//uno que no coincida aqui truena ok.
  end;

Solo que tengo un detalle se tarda demaciado, se me pasma la pantalla no he probado con los componentes de excel y no
se si es más rapido por esa vía, pero por aqui se me tarda un rato con un excel de 72 filas y 13 columnas, estuve pensando
si se podria hacer un insert con un select:
Código SQL [-]
INSERT INTO tabla_A(CAMPO1, CAMPO2) select CAMPO1,CAMPO2 from tablaB
para que sea más rapida la importación y dejarle la chamba a la bd pero el detalle es que mi AdoDataSet1 esta conectado al
excel y los datos no estan en la bd sino en el el excel... si alguien ha hecho algo parecido y tiene algún dato extra se lo
agradezco de ante mano y estaria super jojojo¡¡¡¡¡

Grax por su tiempo.
__________________
Cuidemos el medio ambiente....jojo
Reply With Quote
  #3  
Old 12/05/2012
juanlaplata's Avatar
juanlaplata juanlaplata is offline
Miembro
 
Join Date: Jan 2007
Location: La Plata, Bs. As. (Argentina)
Posts: 212
Poder: 20
juanlaplata Va por buen camino
Hola, saludos ...
asi es como importo datos de Excel.
Recorre todas las celdas del Excel e importa cada una de ellas.
Obviamente, tendrias q analizar de que manera se adapta a tu necesidad.

Código Delphi [-]
              FileName := OpenDialog1.FileName;
              Excel := CreateOleObject('Excel.Application');
              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;

              for i:=1 to CantRow do
                 begin
                      for j:=1 to CantCol do
                       begin

                            Base.buscarTelefonos.Append;
                            Base.buscarTelefonosImei.AsString := trim(RangoMatriz[i,j]);
                            Base.buscarTelefonos.Post;

                       end; // for j
                 end;//for i
              Excel.quit;
Reply With Quote
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
exportar/importa a excel martonbarbosa Varios 1 22/07/2014 22:09
importacion de Datos Excel 2007 oscarac Varios 4 19/12/2011 06:04
Importacion desde Excel oscarac Varios 1 01/03/2011 17:23
Importación desde fichero XML???? burasu .NET 4 16/10/2005 12:04
Importación de Contactos desde outlook hot1974 Servers 7 09/06/2005 00:53


All times are GMT +2. The time now is 21:10.


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