• Viernes 1 de Noviembre de 2024, 21:33

Autor Tema:  Como Bajarse El Excel De La Memoria  (Leído 1503 veces)

nuggita

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Como Bajarse El Excel De La Memoria
« en: Sábado 12 de Mayo de 2007, 01:12 »
0
Código: Text
  1.  
  2.             Excel.Application libro = new Excel.Application();
  3.             libro.Workbooks.Add(true);            
  4.  
  5.             try
  6.             {
  7.                 int cIndex = 1, rIndex = 1;
  8.  
  9.                 libro.Cells[rIndex, cIndex] = "FECHA DE REPORTE: " + DateTime.Today.ToShortDateString();
  10.                
  11.                 foreach (object obj in titulo)
  12.                 {
  13.                     libro.Cells[rIndex + 2, cIndex] = obj;
  14.                     cIndex += 4;
  15.                 }
  16.  
  17.                 cIndex = 0;
  18.                 rIndex += 4;
  19.  
  20.                 foreach (ColumnHeader sCol in lista.Columns)
  21.                     if (sCol.Index >= ini && sCol.Index <= fin)
  22.                     {
  23.                         cIndex += 1;
  24.                         libro.Cells[rIndex, cIndex] = sCol.Text;
  25.                     }
  26.  
  27.                 foreach (ListViewItem sitem in lista.Items)
  28.                 {
  29.                     rIndex += 1;
  30.                     cIndex = 0;
  31.                     int indice = 0;
  32.  
  33.                     foreach (ColumnHeader sCol in lista.Columns)
  34.                     {
  35.                         if (indice >= ini && indice <= fin)
  36.                         {
  37.                             cIndex += 1;
  38.                             libro.Cells[rIndex + 1, cIndex] = sitem.SubItems[indice].Text;
  39.                         }
  40.                         indice += 1;
  41.                     }
  42.                 }                
  43.             }
  44.             catch (Exception ex)
  45.             {
  46.                 MessageBox.Show("No se pudo realizar la operación.\n" + ex.Message, "MAROKI", MessageBoxButtons.OK, MessageBoxIcon.Error);
  47.             }
  48.             finally
  49.             {
  50.                 libro.Visible = true;
  51.             }
  52.  
  53.  

que tal gentita...me pasaron este codigo...cual es su funcion? pos exportar los datos de un listview (lista) a una hoja de excel...el codigo es correcto, lo probe i funka....ahora, si uds tienen tiempo i kieren experimentar, hagan ese codigo, exporten i cierren la hoja de excel ke les genera. Cuando io cierro la hoja de excel, guardandola o no, el excel aun se keda cargado en memoria, xq ocurre eso? para mas referencias, despues de cerrar, abran el Administrador de Tareas, pestaña Procesos...ahi encontrarn el excel aun abierto....alguien sabe como "descargarlo" de memoria?
[size=109]Carlos Obando[/color][/size]

yaG

  • Miembro activo
  • **
  • Mensajes: 46
    • Ver Perfil
Re: Como Bajarse El Excel De La Memoria
« Respuesta #1 en: Martes 15 de Mayo de 2007, 21:44 »
0
creo que hasta que no cierres tu aplicación el proceso excel va a seguir cargado...
Fijate si dsp de cerrar el xls cerras el programa que hicistes, ahí se te debería ir de la memoria.

Por otro lado, podrías forzarlo si es lo que queres
using System.Diagnostics;

foreach (Process prc in Process.GetProcesses())
{
      if (prc.ProcessName == "EXCEL")
      {
            if (!prc.Responding)
            {
                   prc.Kill();    
             }        
       }
}

Algo así sería el código... acá lo que hace es fijarce todos los procesos que están corriendo, si alguno se llama EXCEL y si es así se fija si esta siendo utilizado, sino esta siendo utilizado(o sea si lo cerraste) lo elimina...

No sé si habrá una forma más optima de hacer esto, yo personalmente empleo esta manera.. Si alguien sabe algo mejor que comparta...

Saludos.
[size=109]Antes de preguntar recuerda el concepto GIYF. Google is your friend.[/size][/u]

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Como Bajarse El Excel De La Memoria
« Respuesta #2 en: Martes 15 de Mayo de 2007, 22:53 »
0
fijate si te funciona con el metodo


Código: Text
  1. libro.quit();
  2.  


debe de pertencer a Excel.Application


Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

nuggita

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Re: Como Bajarse El Excel De La Memoria
« Respuesta #3 en: Miércoles 16 de Mayo de 2007, 05:51 »
0
Citar
creo que hasta que no cierres tu aplicación el proceso excel va a seguir cargado...
Fijate si dsp de cerrar el xls cerras el programa que hicistes, ahí se te debería ir de la memoria.

tienes razon yaG...cuando cierro mi aplicacion, el excel de descarga de la memoria...no es necesario el resto de codigo...gracias... (este foro es lo maximo caracho!!! :kicking: )
[size=109]Carlos Obando[/color][/size]