MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   EXCEL celda con formato texto (foro/showthread.php?t=30382)

sanvic 27/05/09 09:42:50

EXCEL celda con formato texto
 
Buenas,
estoy haciendo un excel de tipo ole2, el caso es que tengo una de las celdas en la que guardo un numero de 19 posiciones pero en el excel se guarda 3,15649E+18
en vez de
3156490000222000089
sabe alguien alguna manera de convertir la celda en celda de texto para que no me lo convierta.

Gracias,
Salu2.

paraujo 27/05/09 11:56:50

Excel celda con formato texto
 
Tenes la celda en formato general, hay que pasarla a formato número sin decimales.
Sds.

sanvic 27/05/09 13:26:18

Y como hago eso, he encontrado estas intrucciones pero intento adaptarlas a mi codigo y no cambia nada

CALL METHOD OF sheet 'RANGE' = rango
EXPORTING
#1 = 'D1'
#2 = 'D1'.
* Se formatea el ancho de columna
SET PROPERTY OF rango 'NUMBERFORMAT' = '#,##0'.
SET PROPERTY OF rango 'COLUMNWIDTH' = 21.
FREE OBJECT rango.

muchas gracias,
Salu2

sanvic 27/05/09 14:08:27

:confused:
buenas otra vez, me estoy volviendo un poco loca, pork para hacelo mas facil de probar y asegurarme de que el error no esta en ningun otro sitio, me he hecho un programita de prueba con el siguiente codigo, el caso es que en la primera linea, lo escribe como yo quiero pero en las siguientes dos lo escribe mal, a alguien se le ocurre por que puede ser :confused: :confused: :confused:
*Crear excel
CREATE OBJECT application 'EXCEL.APPLICATION'.
SET PROPERTY OF application 'VISIBLE' = 1.

CALL METHOD OF application 'WORKBOOKS' = workbook.
CALL METHOD OF workbook 'Add' = workbook.

GET PROPERTY OF application 'ActiveSheet' = sheet.
SET PROPERTY OF sheet 'Name' = 'TISPL'.
*Escribir tres veces el texto
DO 3 TIMES.
cont = cont + 1.
CALL METHOD OF sheet 'Cells' = cells
EXPORTING
#1 = cont "Fila
#2 = 1. "Columna

CALL METHOD OF sheet 'RANGE' = rango
EXPORTING
#1 = 'A1'
#2 = 'A1'.
* Se formatea el ancho de columna
SET PROPERTY OF rango 'NumberFormat' = '@'. "Formato texto
SET PROPERTY OF rango 'COLUMNWIDTH' = 25.


SET PROPERTY OF cells 'Value' = '3156490004598700015'.
ENDDO.
*salvar y cerrar
CALL METHOD OF workbook 'SAVEAS'
EXPORTING
#1 = 'C:\Prueba Q01 TISPL\prueba.xls'.

CALL METHOD OF workbook 'close'.
CALL METHOD OF application 'QUIT'.
FREE OBJECT application.
FREE OBJECT workbook.
FREE OBJECT sheet.
FREE OBJECT cells.
FREE OBJECT column.
FREE OBJECT font.
FREE OBJECT color.
FREE OBJECT bold.

sanvic 27/05/09 14:12:28

ya me respondo yo sola :( estaba seleccionando mal el rango

muchas gracias de todos modos

luis999 27/05/09 14:27:48

Hola, en el #2 debes pasarle 'A3', para que tome las 3 filas. :)

CALL METHOD OF sheet 'RANGE' = rango
EXPORTING
#1 = 'A1'
#2 = 'A3'.




sanvic 27/05/09 14:54:17

si me he dado cuenta pense que estaba seleccionando la columna, muchas gracias.

Otra preguntita mi programa es un alv con un boton que descarga el excel y hasta que no vuelvo atras hasta la pantalla de selección el excel se me queda como enganchado y no se puede abrir, he intentado poniendo FREE a todos los objetos pero no parece ser eso, sabeis que puede ser.

gracias,
Saludos

luis999 27/05/09 15:47:15

Si le pones esto ya no se visualiza el excel:

set property of application 'visible' = 0.


sanvic 27/05/09 16:04:27

Si eso ya lo tengo puesto y no se ve el excel, pero cuando ya se ha creado si lo intento abrir, no se abre solo se ve un trocito del excel y no es el de los datos, se queda como enganchado y para poder verlo tengo que salir del alv.

Gracias,
Salu2

sanvic 28/05/09 11:33:03

Alguien tiene idea de como hacer para cerrar completamente bien el excel y que se pueda abrir sin tener que volver atras en el alv ????

Ahora tengo este codigo:
CALL METHOD OF workbook 'SAVEAS'
EXPORTING
#1 = file.

CALL METHOD OF workbook 'close'.
CALL METHOD OF application 'QUIT'.
FREE OBJECT application.
FREE OBJECT workbook.
FREE OBJECT sheet.
FREE OBJECT cells.
FREE OBJECT column.
FREE OBJECT font.
FREE OBJECT color.
FREE OBJECT bold.

Gracias,
Salu2


Husos Horarios son GMT. La hora en este momento es 19:51:41.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web