Home   Artículos   Recursos   Foros   
Artíclos recientes publicados en Latindevelopers:

Visual C++: NSDoubleEdit: Un control para el manejo de números decimales en Visual C++.
Visual C++: Implementando una Calculadora en Visual C++
Visual C++: CCommandLine: Una clase para el uso de la linea de comando
Visual C++: Una clase para el manejo del Registro


Crear archivo excel

Aqui programadores en la plataforma Win32 con Visual C++ de Microsoft...

Moderador: latindeveloper

Crear archivo excel

Notapor fernandoquiroz el Lun Ene 15, 2007 8:40 pm

Necesito crear un archivo Excel y luego escribir en él dandole formato para asi poder exportar los datos que tengo visualizados en el view
fernandoquiroz
Novato
Novato
 
Mensajes: 12
Registrado: Mié Sep 20, 2006 4:17 pm

Notapor flea_aqp el Lun Ene 29, 2007 6:54 pm

tienes que crear un archivo con extencion .csv eso lo haces con el file revisa manejo de archivos y luego solo escribes cada celda se diferncia de otra por un salto de linea \n eso es en excel el enter y el tab lo guardas como un punto y coma nada mas sencillo a a esto dale las gracias a athiny que de ella aprendi esto
flea_aqp
Usuario Activo
Usuario Activo
 
Mensajes: 40
Registrado: Dom Ene 15, 2006 1:48 pm

De ClisCtrl a Excel

Notapor oscargim el Lun Ene 29, 2007 10:08 pm

Hola yo tengo una solucion un poco rara, la utilizo muy frecuentemente para exportar resultados de una consulta sql, es un archivo delimitado por tabulaciones que le pongo la extencion xls y el excel lo levanta inocentemente, despues le colocas guardar como y seleccionas la primera opcion que es libro de excel,
el algoritmo que te muestro exporta el contenido de un ClistCtrl con el nombre la columna y todo, espero te sirva, para mi es muy muy util



Código: Seleccionar todo
void Cmiclase::aexcel(CListCtrl *lista)
{
   FILE *arch;
   CFileDialog FileDlg(FALSE, "xls", "MiArchivo.xls", 0, ("MiArchivo.xls"));
   if(FileDlg.DoModal()==IDOK)
   {
      char nfile[512];
      sprintf(nfile,FileDlg.GetPathName());
      arch=fopen(nfile,"w");
      TCHAR  lpBuffer[256];
      HDITEM hdi;
      hdi.mask = HDI_TEXT;
      hdi.pszText = lpBuffer;
      hdi.cchTextMax = 256;
      for(int j=0;j<lista>GetHeaderCtrl())->GetItemCount();j++)
      {
         lista->GetHeaderCtrl()->GetItem(j,&hdi);
         fprintf(arch,"%s\t",hdi.pszText);
      }
      fprintf(arch,"\n");
      for(int i=0;i<lista>GetItemCount();i++)
      {
         for(int j=0;j<lista>GetHeaderCtrl())->GetItemCount();j++)
         {
            fprintf(arch,"%s\t",lista->GetItemText(i,j));
         }
         fprintf(arch,"\n");
      }
      fclose(arch);
   }
   else
      MessageBox ("Error al crear el Archivo","Error de importacion",MB_ICONERROR);
}



simplemente copialo asi comoesta y enviale como parametro el id de tu listcontrol y funca re bien


Ejemplo de como llamar
Código: Seleccionar todo
aexcel(&m_lista);
oscargim
Usuario Muy Activo
Usuario Muy Activo
 
Mensajes: 113
Registrado: Mar May 09, 2006 5:53 am

archivos excel

Notapor athiny el Lun Ene 29, 2007 11:43 pm

Hola hace tiempo estaba trabajando con excel y envie una respuesta a este foro

se encuentra en esta dirección
http://www.latindevelopers.com/forum/viewtopic.152.html

parte de ello es esto x ejemplo


Código: Seleccionar todo
 
void CExcelDlg::OnGuardar()
{
   const char *filename = "C:\\Mis documentos\\Athiny.csv";
   FILE *Archi;
   Archi = fopen(filename,"w");
   if (Archi==0)
      fprintf(stderr, "Fallo abriendo... %s para escribir\n",filename);       
   fprintf(Archi,"Hola mundo\n");
   fprintf(Archi,"Hola,Mundo\n");//etc...
   fclose(Archi);
}


revisen tiene varias respuestas que ayudara mucho

Athiny
Avatar de Usuario
athiny
Novato
Novato
 
Mensajes: 10
Registrado: Mié Jun 18, 2003 11:48 am


Volver a Visual C++

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados