¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como obter a última linha de uma planilha do Excel com ole2 a partir do ABAP

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 7 Vistas
0
Cargando...

Olá,

Estou me perguntando como posso obter a última linha de uma planilha do Excel com ole2 a partir do Abap.

Obrigado,

Joseph

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Olá Joseph,

por favor crie um arquivo xls com alguns dados na coluna A e tente o seguinte código:

TYPE-POOLS ole2.

DATA: excel         TYPE ole2_object,
      workbook_list TYPE ole2_object,
      workbook      TYPE ole2_object,
      cell          TYPE ole2_object,
      first_cell    TYPE ole2_object,
      last_cell     TYPE ole2_object,
      range         TYPE ole2_object,
      specialcell   TYPE ole2_object.

DATA path TYPE string.
DATA row  TYPE string.

path = 'C:\TMP\test.xls'.

* Executar Excel
CREATE OBJECT excel 'EXCEL.APPLICATION'.

* Mostrar Excel
SET PROPERTY OF excel 'Visible' = 1.

* Obter referência à lista de pastas de trabalho na aplicação
* está vazia por enquanto
CALL METHOD OF excel 'Workbooks' = workbook_list.

* Abrir arquivo existente
* será adicionado à lista de pastas de trabalho
CALL METHOD OF workbook_list 'OPEN'
  EXPORTING #1 = path.

* Definir primeira célula
CALL METHOD OF excel 'Cells' = first_cell
  EXPORTING
  #1 = 1  " Fila
  #2 = 1.     " Coluna

* Definir última célula
CALL METHOD OF excel 'Cells' = last_cell
  EXPORTING
  #1 = 65536  " Fila
  #2 = 1.     " Coluna

CALL METHOD OF excel 'Range' = range
  EXPORTING
  #1 = first_cell
  #2 = last_cell.

CALL METHOD OF range 'SpecialCells' = specialcell
  EXPORTING
  #1 = 11.


            
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá Rea,

Obrigado pela sua resposta.

Não está funcionando. Estou obtendo 0 na [fila] depois de fazer:

OBTER PROPRIEDADE DE [celdaespecial] 'FILA' = [fila].

Joseph

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá Joseph,

Após ter criado os objetos ole necessários, tente o seguinte:

- defina o intervalo que deseja encontrar a última linha

CALL METHOD OF [excel.application] 'Range' = [range]
  EXPORTING
  #1 = [first_cell]
  #2 = [last_cell].

- chame o método SpecialCells com o parâmetro xlCellTypeLastCell (que é 11)

CALL METHOD OF range 'SpecialCells' = [specialcell]
  EXPORTING
  #1 = 11.

- obtenha a propriedade da linha

GET PROPERTY OF [specialcell] 'ROW' = [row].

Cumprimentos

rea

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá Joseph,

Depois de ter criado os objetos OLE necessários, experimente o seguinte:

- defina o intervalo no qual deseja encontrar a última linha

CALL METHOD OF [excel.application] 'Range' = [rango]
  EXPORTING
  #1 = [primera_celda]
  #2 = [ultima_celda].

- chame o método SpecialCells com o parâmetro xlCellTypeLastCell (que é 11)

CALL METHOD OF rango 'SpecialCells' = [celdaespecial]
  EXPORTING
  #1 = 11.

- obter a propriedade linha

GET PROPERTY OF [celdaespecial] 'ROW' = [fila].

Saudações

rea

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?