Ir al contenido


Foto

Problemas entre Delphi XE7 y Excel 2013


  • Por favor identifícate para responder
5 respuestas en este tema

#1 JoAnCa

JoAnCa

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 775 mensajes
  • LocationPinar del Río, Cuba

Escrito 09 septiembre 2016 - 10:40

Hola a todos
Pues tengo una aplicacion que lee un archivo de excel para almecanarlo en una BD MySQL, todo funcionaba bien hasta hoy, que cuando intento importar el excel, se me "congela" la aplicación (Windows 10 y Excel 2013)
 
Sin embargo en la PC del usuario (windows XP y Excel 2010) funciona bien y no se bloquea
 
Aclaro q la aplicaion la diseñe con Windows 7 y Excel 2010, despues q cambie a Win10 y Excel 2013, no habia probado el modulo de importar de excel, hasta hoy q tuve q hacer un arreglo
 
La aplicacion se bloquea cuando va a abrir el archivo de excel en esta linea

delphi
  1. Excel.Workbooks.Open(edtArchBalSald.Text);

Por qué sucederá esto?
Será incompatibilidad entre el componente nativo de excel en XE7 y el SO o el Office 2013?
 
Que alternativa podre usar si es asi?
 
 
 
 
Offtopic:
Por que pone codigo PHP? Cual es la opcion para que ponga codigo delphi?

Editado por enecumene, 10 septiembre 2016 - 11:51 .

  • 0

#2 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 09 septiembre 2016 - 11:22

Hay algunos cambios entre las versiones de Office que yo no descartaría que sea ese el problema y justo el componente no es capaz de abrir el archivo con la nueva versión.

Si puedes aportarnos más detalles de que contiene el archivo, y/o algo más de código podría hacer una prueba a fin de tratar de replicarlo en Delphi Berlin Starter (si es que están los componentes)

 

Por cierto, para que aparezca el resaltado de formato delphi, debes elegir Delphi en el ComboBox el lenguaje en el cuadro de díalogo cuando vas a pegarlo.

 

Saludos,


  • 0

#3 JoAnCa

JoAnCa

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 775 mensajes
  • LocationPinar del Río, Cuba

Escrito 09 septiembre 2016 - 12:06

Hay algunos cambios entre las versiones de Office que yo no descartaría que sea ese el problema y justo el componente no es capaz de abrir el archivo con la nueva versión.

Si puedes aportarnos más detalles de que contiene el archivo, y/o algo más de código podría hacer una prueba a fin de tratar de replicarlo en Delphi Berlin Starter (si es que están los componentes)

 

Por cierto, para que aparezca el resaltado de formato delphi, debes elegir Delphi en el ComboBox el lenguaje en el cuadro de díalogo cuando vas a pegarlo.

 

Saludos,

 

 

El archivo de excel solo contiene texto y numeros (sin formatos), lo exporta otro software en formato XLS (excel 97-2003), quizas venga por ahi la cuestion

 

En Delphi XE7 activo el paquete Microsoft Office XP

 

Para manipular el archivo excel lo hago asi:


php
  1.   try
  2.     Excel:=CreateOleObject('Excel.Application');
  3.     Excel.Workbooks.Open(edtArchBalSald.Text);
  4.     Sheet:=Excel.Workbooks[ExtractFileName(edtArchBalSald.Text)].WorkSheets[1];
  5.     try
  6.       //--- Leer los datos del libro de Excel y guardarlos en un array ---
  7.       Sheet.Cells.SpecialCells(xlCellTypeLastCell, EmptyParam).Activate;
  8.       CantRow:=Excel.ActiveCell.Row;
  9.       CantCol:=Excel.ActiveCell.Column;
  10.       RangoMatriz:=Excel.Range['A1', Excel.Cells.Item[CantRow,CantCol]].Value;
  11.       if RangoMatriz[10,7] <> 'Saldos de cuentas' then
  12.       begin
  13.         MsgError('El archivo seleccionado no contiene Saldos de Cuentas','Error al cargar Archivo de Excel');
  14.         Exit;
  15.       end;
  16.  
  17.       MuestraProgreso;
  18.       ImportaSaldos;
  19.     except
  20.       MsgError('El archivo no tiene el formato esperado','Error al cargar Archivo de Excel');
  21.       Excel.Quit;
  22.       Exit;
  23.     end;
  24.   finally
  25.     Excel.Quit;
  26.   end;

En la linea 3 es doonde se queda bloqueda la aplicacion, que tengo que cerrarla por los procesos

 

 

 

 

 

No veo el Combobox para seleccionar Delphi :|


Editado por JoAnCa, 09 septiembre 2016 - 12:07 .

  • 0

#4 JoAnCa

JoAnCa

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 775 mensajes
  • LocationPinar del Río, Cuba

Escrito 09 septiembre 2016 - 12:47

Tema Resuelto

 

La solución está en desactivar la Vista Protegida en el Excel, pues con ella activa no permite que se abran archivos de versiones viejas de excel

 

La desactive y ya todo esta Ok


  • 1

#5 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 09 septiembre 2016 - 01:04

Me alegro que hayas encontrado la solución al problema.

La verdad es que la funcionalidad de Vista Protegida es más una molestia que una medida de seguridad.

 

Para dar formato de código:

1. Presiona el botón código.

2. En el cuadro de diálogo selecciona Delphi

3. Pegar el código

4. Aceptar

 

Como una imagen dice mil palabras adjunto un print screen para que veas.

 

Saludos,

Archivos adjuntos


  • 0

#6 JoAnCa

JoAnCa

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 775 mensajes
  • LocationPinar del Río, Cuba

Escrito 09 septiembre 2016 - 02:21

Me alegro que hayas encontrado la solución al problema.

La verdad es que la funcionalidad de Vista Protegida es más una molestia que una medida de seguridad.

 

Para dar formato de código:

1. Presiona el botón código.

2. En el cuadro de diálogo selecciona Delphi

3. Pegar el código

4. Aceptar

 

Como una imagen dice mil palabras adjunto un print screen para que veas.

 

Saludos,


delphi
  1. //Es que lo estaba haciendo mal
  2.  
  3. //Escribia primero el codigo, lo seleccionaba y despues hacia clic en <>

Ya aprendi como es, muchas gracias


  • 0




IP.Board spam blocked by CleanTalk.