Progress - como puedo cargar un archivo excel a la bd progres

   
Vista:

como puedo cargar un archivo excel a la bd progres

Publicado por karlos (1 intervención) el 07/01/2008 23:02:39
quien me dice como cargar un archivo de excel
a la base de datos de progress

lo que pasa es que esta muy pesada y no se como
y ni modo de dar de alta uno por uno

si me pueden ayudar de favor
y en lo que les pueda ayudar...

gracias...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:como puedo cargar un archivo excel a la bd prog

Publicado por RafaNet (6 intervenciones) el 08/01/2008 12:45:49
Hola, te dejo un codigo de como leer una excel desde Progress espero que te ayude.
----------------------------------------------------
/* Comprobar que existe el fichero a importar, se tiene que llamar */
DEFINE VARIABLE cFichero AS CHARACTER NO-UNDO.
DEFINE VARIABLE iError AS INTEGER NO-UNDO.
DEFINE VARIABLE cError AS CHARACTER NO-UNDO.
cFichero="C:FicheroExcel.xls".
IF SEARCH(cFichero)=? THEN DO:
iError=-1.
cError="No existe el fichero".
RETURN.
END.

iError=1.
cError="Error indeterminado, no se ha importado".
DEFINE VARIABLE cDescClave AS CHARACTER NO-UNDO.
DEFINE VARIABLE lErrorClave AS LOGICAL NO-UNDO.
DO TRANSACTION ON ERROR UNDO, LEAVE:
DEFINE VARIABLE chExcel AS COM-HANDLE.
DEFINE VARIABLE chLibro AS COM-HANDLE.
DEFINE VARIABLE chHoja AS COM-HANDLE.
DEFINE VARIABLE iNumLinea AS INTEGER NO-UNDO.

/* Datos a recuperar */
DEFINE VARIABLE dCampo1 AS DECIMAL NO-UNDO.
DEFINE VARIABLE cCampo2 AS CHARACTER NO-UNDO.

CREATE "Excel.Application" chExcel.
chLibro = chExcel:Workbooks:OPEN(cFichero) NO-ERROR.
/* Coger la primera hoja solamente */
chHoja = chExcel:Sheets:Item(1) NO-ERROR.

/* Comprobamos que las hojas no esten en blanco */
IF (chHoja:Cells(1,1):VALUE = ? OR chHoja:Cells(1,1):VALUE = '') THEN DO:
iError=2.
cError="La Excel esta en blanco".
UNDO, LEAVE.
RETURN.
END.

DEFINE VARIABLE lProcesar AS LOGICAL NO-UNDO.
iNumLinea=2.
lProcesar=TRUE.
REPEAT WHILE lProcesar:
dCampo1 = decimal(chHoja:Cells(iNumLinea,2):VALUE) NO-ERROR.
cCampo2 = chHoja:Cells(iNumLinea,1):VALUE NO-ERROR.


IF cCampo2=? OR cCampo2="" THEN DO:
lProcesar=FALSE.
iNumLinea = iNumLinea - 2.
END.
ELSE DO:
/* PROCESAR INFORMACION */

/* Aumentar la linea */
iNumLinea = iNumLinea + 1.
END.
END.
chLibro:CLOSE(FALSE,,) NO-ERROR. /* cierra archivo sin grabar cambios */
chExcel:QUIT NO-ERROR.
RELEASE OBJECT chHoja no-error.
RELEASE OBJECT chLibro no-error.
RELEASE OBJECT chExcel no-error.
chExcel = ?.
chLibro = ?.
chHoja = ?.

IF iError=4 THEN DO:
UNDO, LEAVE.
RETURN.
END.

/* Todo Correcto */
iError=0.
cError="Procesadas: " + STRING(iNumLinea).
END. /* Fin Transaccion */

MESSAGE cError.
----------------------------------------------------
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como puedo cargar un archivo excel a la bd prog

Publicado por leticia valdevenito (1 intervención) el 23/06/2009 04:44:16
hola, neceito cargar el programa excel para hacer una planilla, por favor lo antés posible, gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar