Como leer un archivo de excel en C++


/ Published in: C++
Save to your folder(s)



Copy this code and paste it in your HTML
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <iostream.h>
  4. #include <string.h>
  5. #include <stdlib.h>
  6. #include <iomanip.h>
  7.  
  8. #define FALSE 0
  9. #define TRUE 1
  10.  
  11. #define MAXLINEA 255
  12. #define MAXCAMPO 41
  13. #define TOPEVECTOR 200
  14.  
  15. typedef int bool;
  16. typedef char str40[MAXCAMPO];
  17. typedef char str_linea[MAXLINEA];
  18.  
  19. typedef struct ty_libro
  20. {
  21. int iCodigo;
  22. str40 sAutor;
  23. str40 sNombre;
  24. float fPrecio;
  25. int iStock;
  26. };
  27.  
  28. //Una línea del archivo seria la siguiente:
  29. //2;Huenun, Jaime;20 Poetas Mapuche Contemporaneos;2.91;3
  30.  
  31. void main()
  32. {
  33. FILE *pArchivo;
  34. ty_libro vLibro[TOPEVECTOR];
  35. char *token;
  36. str_linea linea;
  37. int i=0;
  38.  
  39. clrscr();
  40. //Abro el archivo en modo lectura
  41. pArchivo=fopen("C:\\libros.csv","rt");
  42. if(pArchivo==NULL)
  43. {
  44. cout<<"No se pudo abrir el Archivo de Entrada.\n";
  45. }
  46. else
  47. {
  48. cout<<"El archivo se abrio correctamente.\n";
  49. }
  50. //Parseo el archivo hasta la marca de fin de archivo
  51. //y voy guardando los registros en el vector de registros
  52. while (!feof(pArchivo))
  53. {
  54. fgets(linea,MAXLINEA,pArchivo);
  55.  
  56. token = strtok(linea,";");
  57. vLibro[i].iCodigo = atoi(token);
  58.  
  59. token = strtok(NULL,";");
  60. strcpy(vLibro[i].sAutor,token);
  61.  
  62. token = strtok(NULL,";");
  63. strcpy(vLibro[i].sNombre,token);
  64.  
  65. token = strtok(NULL,";");
  66. vLibro[i].fPrecio = atof(token);
  67.  
  68. token = strtok(NULL,";");
  69. vLibro[i].iStock = atoi(token);
  70. i++;
  71. }
  72. //Cierro el archivo
  73. fclose(pArchivo);
  74. //Muestro parte del contenido para verificar el correcto parseo
  75. for(i=0;i<2;i++)
  76. {
  77. cout<<"Codigo: "<<vLibro[i].iCodigo<<endl;
  78. cout<<"Nombre: "<<vLibro[i].sNombre<<endl;
  79. cout<<"Autor: "<<vLibro[i].sAutor<<endl;
  80. cout<<"Precio: "<<vLibro[i].fPrecio<<endl;
  81. cout<<"Stock: "<<vLibro[i].iStock<<endl;
  82. cout<<setw(8)<<setfill('-')<<"-"<<endl;
  83. }
  84. getchar();
  85. }

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.