Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol Fujitsu COBOL
Fujitsu COBOL Sub-Foro dedicado a Compiladores e IDE-s de Fujitsu.
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Sintaxis] Leer dato en un archivo Json con Chilkat... Fito PowerCOBOL (ActiveX, v4 - v11) 12 7 de agosto de 2024 19:20
[Sintaxis] Leer archivo .ini Fito PowerCOBOL (ActiveX, v4 - v11) 7 10 de julio de 2023 14:55
[Sintaxis] Leer nombre de archivo y separarlo en variables GAbo248 AcuCobol 3 26 de julio de 2020 19:27
[Duda] Leer archivo AcuCobol con PowerCobol Roger PowerCOBOL (ActiveX, v4 - v11) 7 28 de septiembre de 2016 10:44
[Sintaxis] Leer archivo texto con codificacion UTF-8 Recato53 PowerCOBOL (ActiveX, v4 - v11) 1 18 de abril de 2016 10:47

Respuesta
 
Herramientas

  #1
Antiguo 12 de febrero de 2020, 21:18
jmeza
Forero Senior
Última Actividad 23.05.2026 02:04
Posts Posts: 106
Likes enviados Enviados: 26
Likes recibidos Recibidos: 4
Predeterminado Leer Archivo Excel
0 Inactivo Inactivo

Hola, alguien me puede ayudar con un programa ejemplo, como leer los datos de un archivo excel para cargar en un archivo de programa.
Puede ser en Rmcobol o Pawercobolv9

Saludos
jmeza is offline   Responder Con Cita
  #2
Antiguo 12 de febrero de 2020, 21:57
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

jmeza, échale un ojo a esto: [Información] Número de lineas y columnas de una hoja Excel - COBOL Foro



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #3
Antiguo 13 de febrero de 2020, 17:25
Gusaiello
Forero Activo
Concurso: Segundo puesto: Ganador/a del Segundo puesto en un concurso - Issue reason: Generador de código QR encriptado Activista del Foro: Activista del Foro - Issue reason: Por aportar ejecrcicios para los novatos 
Última Actividad 17.09.2026 14:29
Posts Posts: 236
Likes enviados Enviados: 150
Likes recibidos Recibidos: 139

Esto lo encontré una vez dando vueltas por internet y me ha sido de gran utilidad, pero esta hecho para AcuCobol, no se que ajustes habrá que jacer para RM o Power.


Código COBOL:
  1.        identification division.
  2.        program-id. leo-excel.
  3.      *Raul E. Ramirez [email][email protected][/email]  
  4.      *Nota Siempre cerrar el excel desde Archivo Salir
  5.        ENVIRONMENT     DIVISION.
  6.        CONFIGURATION   SECTION.
  7.        SPECIAL-NAMES.
  8.             copy "..\def\excel.def".
  9.             DECIMAL-POINT IS COMMA.
  10.        INPUT-OUTPUT    SECTION.
  11.        FILE-CONTROL.
  12.               SELECT ACHEQUE ASSIGN DISK
  13.                              ORGANIZATION IS INDEXED
  14.                              ACCESS MODE IS DYNAMIC
  15.                              lock mode is automatic
  16.                              record key is KEY-CHE
  17.                              FILE STATUS IS FS-CHE.
  18.        DATA DIVISION.
  19.        FILE SECTION.
  20.        fd  ACHEQUE label record standard
  21.                     record 77 characters
  22.                     value of file-id "cheque.dat"
  23.                     data record REG-CHE.
  24.        01  REG-CHE.
  25.            02 KEY-CHE.
  26.               03 nro-che   PIC 9(10).
  27.            02 nom-che      PIC x(50).
  28.            02 imp-che      PIC 9(15)v99.
  29.        WORKING-STORAGE SECTION.
  30.      *----------------------------------------------------------------*
  31.        77  FS-CHE     pic xx value spaces.
  32.        78  newline    value x"0A".
  33.      *----------------------------------------------------------------*
  34.        77  HexcelApp usage is handle of Application.
  35.        77  Hoja1     usage is handle of Worksheet.
  36.        77  HexcelWkb usage is handle of Workbook.
  37.        77  Hrange    usage is handle of Range.
  38.      *----------------------------------------------------------------*
  39.        77  i          pic 9(15).
  40.        77  j          pic 99.
  41.        77  k          pic 9999.
  42.        77  g          pic 9(15).
  43.      *----------------------------------------------------------------*
  44.        01  coordenada.
  45.            02 letra  pic xx.
  46.            02 numero pic 999999.
  47.      *----------------------------------------------------------------*
  48.        01 ColRow.
  49.            02 wcol.
  50.               03 wcol-l  pic xx       value spaces.
  51.               03 wcol-n  pic 9(05)    value 0.
  52.               03 filler  pic x        value ":".
  53.               03 wrow-l  pic xx       value spaces.
  54.               03 wrow-n  pic 9(05)    value 0.
  55.      *----------------------------------------------------------------*
  56.        01  wreg-che.
  57.            02 wnro-che      PIC 9(10).
  58.            02 wnom-che      PIC x(50).
  59.            02 wimp-che      PIC 9(15)v99.
  60.        PROCEDURE DIVISION.
  61.        Inicio.
  62.      *----------------------------------------------------------------*
  63.            open OUTPUT ACHEQUE.
  64.            CLOSE ACHEQUE.
  65.            OPEN I-O ACHEQUE.
  66.      *----------------------------------------------------------------*
  67.      *Creo Aplicacion de Excel
  68.            Create @Application of @Excel Handle is HexcelApp.
  69.      *----------------------------------------------------------------*
  70.      *Busco planilla de excel
  71.            modify HexcelApp
  72.                 Application::Workbooks
  73.            ::Open "D:\clientes\pruebas\ej-act\excel\objetos\CHEQUE.xls".
  74.      *----------------------------------------------------------------*
  75.            inquire HexcelApp application::ActiveWorkbook in HexcelWkb.
  76.            inquire HexcelApp application::ActiveSheet    in hoja1.          
  77.      *----------------------------------------------------------------*
  78.            inquire hoja1 columns::item(1) in hrange.          
  79.      *----------------------------------------------------------------*
  80.            modify HexcelApp application::Visible = 0.
  81.      *----------------------------------------------------------------*
  82.            move 1 to I
  83.            move 0 to G.
  84.      *----------------------------------------------------------------*
  85.        CARGA.
  86.            add 1 to I.
  87.            if I > 5  go F-CARGA.
  88.            display I AT 1010.
  89.            display G AT 1210.
  90.      *----------------------------------------------------------------*
  91.      *Capturo datos de la celda --> A
  92.            move " A" to letra.
  93.            move i    to numero.
  94.            inquire hoja1 range(coordenada)::value wnro-che.
  95.            move wnro-che TO nro-che.
  96.      *----------------------------------------------------------------*
  97.      *Capturo datos de la celda --> B (Nombre)
  98.            move " B" to letra.
  99.            move i    to numero.
  100.            inquire hoja1 range(coordenada)::value wnom-che.
  101.            move wnom-che TO nom-che.
  102.      *----------------------------------------------------------------*
  103.      *Capturo datos de la celda --> C (Importe)
  104.            move " C" to letra.
  105.            move i    to numero.
  106.            inquire hoja1 range(coordenada)::value wimp-che.
  107.            move wimp-che TO imp-che.
  108.      *----------------------------------------------------------------*
  109.            write REG-CHE invalid
  110.                  display message box " " newline
  111.                   "Error - write " newline  newline  go carga.
  112.      *----------------------------------------------------------------*
  113.            add 1 to g.
  114.            GO CARGA.
  115.      *----------------------------------------------------------------*
  116.        F-CARGA.
  117.      *----------------------------------------------------------------*
  118.            close ACHEQUE.
  119.            modify HexcelApp application::Visible = 1.
  120.      *----------------------------------------------------------------*
  121.            display message box "Registros Grabados " g newline.
  122.      *----------------------------------------------------------------*
  123.            destroy hoja1.
  124.      *     modify  hexcelwkb   @close(0).
  125.            destroy HexcelWkb.
  126.      *     modify  hexcelapp   @quit().
  127.            destroy HexcelApp.
  128.      *----------------------------------------------------------------*
  129.            stop run.

La planilla CHEQUES.XLS tiene 3 columnas : en A esta el numero del cheque, en B el nombre y en C el importe.

Espero sea de utilidad.
Gusaiello is offline   Responder Con Cita
  #4
Antiguo 14 de febrero de 2020, 01:56
jmeza
Forero Senior
Última Actividad 23.05.2026 02:04
Posts Posts: 106
Likes enviados Enviados: 26
Likes recibidos Recibidos: 4

Gracias por la información
Saludos
jmeza is offline   Responder Con Cita
Respuesta



Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 14:07.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.