De Excel a dbf.

De Excel a dbf.

Postby Raymundo Islas M. » Thu Jul 13, 2006 4:50 pm

Hola a todos

Normalmente se han visto muchos post acerca de las clases para exportar los datos de una DBF a un archivo XLS aplicando formulas, propiedades del texto, alineacion, etc, etc , en este momento ando buscando lo inverso : poder leer y obtener los datos desde un archivo excel, no me importa realizar ninguna operacion, simplemente leer todas las lineas de X columnas, sin necesidad de convertir el archivo a dbf 8)

Alguna sugerencia ?

Saludos
FWH 10.6 + xHarbour + Borland 582
User avatar
Raymundo Islas M.
 
Posts: 592
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

saludos

Postby QAZWSX2K » Thu Jul 13, 2006 5:33 pm

ando en eso mismo desde hace como 2 meses y he probado una tal clase toleauto pero lamento decepcionarte que no me sirve, si lo logro hacer te paso el dato mientras puedes probar tu a ver si esa clase te sirve
User avatar
QAZWSX2K
 
Posts: 363
Joined: Tue Oct 25, 2005 7:06 pm
Location: Bogota - Caracas

Postby Raymundo Islas M. » Thu Jul 13, 2006 5:41 pm

Ok alejandro

Enterado.

Seguimos buscandole.

Gracias
FWH 10.6 + xHarbour + Borland 582
User avatar
Raymundo Islas M.
 
Posts: 592
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

Postby R.F. » Thu Jul 13, 2006 6:05 pm

Mantado pulgas a cañonazos como toda la vida.... jejejejeje

Eso siempre se ha podido hacer con OLE, vean este ejemplo:

Code: Select all  Expand view
  LOCAL oExcel, oHoja, nRows, nCols
    LOCAL TCampos:={}, nRow, nCol

    oExcel := TOleAuto():New( "Excel.Application" )

     *oExcel:Visible := .T. // por si quieres ver la hoja abierta

    oExcel:WorkBooks:Open(cGetFile("*.XLS", "Seleccione Fichero"))

    oHoja := oExcel:Get( "ActiveSheet" )

    nRows := oHoja:UsedRange:Rows:Count()
    nCols := oHoja:UsedRange:Columns:Count()

   USE <tu dbf>

   FOR nRow := 2 TO nRows
      APPEND BLANK
      FOR nCol := 1 TO nCols
         xValue := oHoja:Cells(nRow,nCol):Value
         FieldPut(nCol,xValue)
         SysRefresh()
      NEXT
      DBCOMMIT()
      Memory(-1)
   NEXT
   oExcel:Quit()
   oHoja:End()
   oExcel:End()
 
Saludos
R.F.
R.F.
 
Posts: 840
Joined: Thu Oct 13, 2005 7:05 pm

Postby Raymundo Islas M. » Thu Jul 13, 2006 6:27 pm

Master Flores

Como siempre, ofreciendonos una solucion directa, cuando vemos o creemos que es muy dificil el asunto.

Muchas gracias, enseguida hago pruebas.

Saludos
FWH 10.6 + xHarbour + Borland 582
User avatar
Raymundo Islas M.
 
Posts: 592
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

Postby Raymundo Islas M. » Thu Jul 13, 2006 6:38 pm

Perfecto !!!!

Puedo hacer exactamente lo que necesitaba.

Once again Master Flores, thanks a lot :lol:


Saludos
FWH 10.6 + xHarbour + Borland 582
User avatar
Raymundo Islas M.
 
Posts: 592
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

Re: saludos

Postby Manuel Valdenebro » Thu Jul 13, 2006 8:43 pm

QAZWSX2K wrote:ando en eso mismo desde hace como 2 meses y he probado una tal clase toleauto pero lamento decepcionarte que no me sirve, si lo logro hacer te paso el dato mientras puedes probar tu a ver si esa clase te sirve


Para Clipper, necesitas la libreria Ole2.lib
Para Harbour, necesitas hbole.lib.
Para xHarbour no necesitas nada (viene implementada).

No he trabajado con Harbour. Pero tanto con Clipper + Ole2.lib, como con xHarbour, excel funciona muy bien.
Un saludo

Manuel
User avatar
Manuel Valdenebro
 
Posts: 706
Joined: Thu Oct 06, 2005 9:57 pm
Location: Málaga-España

ummm

Postby QAZWSX2K » Sat Jul 15, 2006 4:57 pm

estimado rene pudistes haberme contestado eso a mi tanbien hace mas de un mes que pregunte por eso y solo me ayudastes diciendo que a lo mejor tenia excel incompleto, de todos modos gracias
User avatar
QAZWSX2K
 
Posts: 363
Joined: Tue Oct 25, 2005 7:06 pm
Location: Bogota - Caracas

Postby Vikthor » Sun Jul 16, 2006 1:30 am

La clase TExcels también les puede ser muy útil.


..No te pido que me des el pescado , sino que me enseñes a pescar.....
Vikthor
User avatar
Vikthor
 
Posts: 271
Joined: Fri Oct 07, 2005 5:20 am
Location: México

Re: ummm

Postby R.F. » Mon Jul 17, 2006 1:39 am

QAZWSX2K wrote:estimado rene pudistes haberme contestado eso a mi tanbien hace mas de un mes que pregunte por eso y solo me ayudastes diciendo que a lo mejor tenia excel incompleto, de todos modos gracias


HQJ (Hay que jo...) ahora resulta que tengo que dar soluciones concretas en momentos especificos.... ya me vale :wink:

Ha veces soy tan irresponsable.... que yo mismo me sorprendo :D
Saludos
R.F.
R.F.
 
Posts: 840
Joined: Thu Oct 13, 2005 7:05 pm

Re: ummm

Postby QAZWSX2K » Mon Jul 17, 2006 1:21 pm

pues si que J...jejeje , sin animos de ofender ni nada, estamos claro que no es obligacion de nadie en ningun momento, pero hay momentos en que........espero lo tomes humoristicamente, que mas nos queda

RF wrote:
QAZWSX2K wrote:estimado rene pudistes haberme contestado eso a mi tanbien hace mas de un mes que pregunte por eso y solo me ayudastes diciendo que a lo mejor tenia excel incompleto, de todos modos gracias


HQJ (Hay que jo...) ahora resulta que tengo que dar soluciones concretas en momentos especificos.... ya me vale :wink:

Ha veces soy tan irresponsable.... que yo mismo me sorprendo :D
User avatar
QAZWSX2K
 
Posts: 363
Joined: Tue Oct 25, 2005 7:06 pm
Location: Bogota - Caracas

Postby MarioG » Fri Jul 13, 2007 2:14 pm

Retomo este antiguo hilo debido a que si bien todo funciona ok, en el siguiente excenario, se produce un error con el metodo :End():
Code: Select all  Expand view
   oExcel := TOleAuto():New( "Excel.Application", .F. )
   oExcel:WorkBooks:Open( cFilePath )
   oExcel:Sheets( 1 ):Select()

   oHoja := oExcel:Get( "ActiveSheet" )
   nTotalRows := oHoja:UsedRange:Rows:Count()

   for nRow := 8 to nTotalRows
        ...
   next

   oExcel:WorkBooks:Close()
   oExcel:Quit()
   oExcel:End()     [b]me devuelve error[/b]
   oExcel := NIL


Lo puedo comentar?; es suficiente con oExcel:Quit() ?
Tengo instalado la versión 2003 de Office, aunque obviamente no todos los clientes pueden tenerla instalada.

gracias
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Postby R.F. » Fri Jul 13, 2007 4:31 pm

Quita el END(), con el solo Quit() es mas que suficiente.
Saludos
R.F.
R.F.
 
Posts: 840
Joined: Thu Oct 13, 2005 7:05 pm

Postby sysctrl2 » Fri Jul 13, 2007 9:05 pm

un Voto mas por texcel,

no solamente hace eso ,, hace mucho mas,,,

ayer presisamente me tope con que tenia que leer un archivo de

codigos postales en excel,

el libro, tenia 21 pestañas, y en cada hoja habian entre 500 y 3 mil renglones


estudiando un poquito la texcel,

solucione el problema,



saludos..
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 982
Joined: Mon Feb 05, 2007 7:15 pm

Postby MarioG » Fri Jul 13, 2007 11:05 pm

muchas gracias
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 27 guests

cron