Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1351 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Fichier excel généré qui a une taille anormale [RESOLU]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Fichier excel généré qui a une taille anormale [RESOLU]

n°1914179
alpachinoi​s
Posté le 11-08-2009 à 22:59:10  profilanswer
 

Bonjour,
 
Je génère un fichier Excel  à partir d'un tableau de string. Jusque là pas de problème mais ce que je ne comprend pas c'est qu'une fois terminé, le fichier enregistré a une taille de plus de 2.28 Mo alors qu'il n'y a que 22 lignes et 2 colonnes 8O même si les chaines de caractères sont longues car quand je fais un copy paste sur un fichier créé à la main, le fichier enregistré ne fait que 15 Ko. Je n'ai fait simplement que remplir avec des valeurs des cellules et un ensuite utiliser la méthode Save() pour le workbook.
 
Code de la méthode qui rempli l'excel

Code :
  1. public void ReportWithOneSegItem(string[] tab, int pos, int endPosition, string title, Excel.Worksheet ws)
  2.         {
  3.             ws.Cells[1, 1] = "Nom du BUS";
  4.             if (pos == 0) ws.Cells[1, 2] = title;
  5.             else ws.Cells[1, 2] = title + " p" + pos.ToString();
  6.            
  7.             //all value column in text format
  8.             ws.get_Range("A1", "B65000" ).NumberFormat = "@";
  9.             for (int i = 0; i < tab.Length; i++)
  10.             {
  11.                 string[] val = tab[i].Split('|');
  12.                 if(pos == 0)
  13.                 {
  14.                     ws.Cells[i + 2, 1] = val[1];
  15.                     ws.Cells[i + 2, 2] = val[0];
  16.                 }
  17.                 else
  18.                 {
  19.                     ws.Cells[i + 2, 1] = val[1];
  20.                     if (endPosition == 0) ws.Cells[i + 2, 2] = val[0].Substring(pos - 1);
  21.                     else ws.Cells[i + 2, 2] = val[0].Substring(pos - 1, endPosition - pos);
  22.                 }
  23.             }
  24.             //width of column
  25.             ws.get_Range("A1", "B65000" ).Columns.AutoFit();
  26.            
  27.             /* if user you want to rename the excel worksheet
  28.             try
  29.             {
  30.                 ws.Name = title;
  31.             }
  32.             catch (Exception nameSheet)
  33.             {
  34.                 ("Le nom de cette feuille existe déjà." );
  35.             }
  36.             */
  37.         }


 
Pour la méthode appelante, pareil ce simple code me créé déjà un classeur vide avec une taille normale de 13 ko
 

Code :
  1. Workbook wk = app.Workbooks.Add(Type.Missing);
  2. wk.SaveAs(saveFileDialog1.FileName, XlFileFormat.xlWorkbookNormal, Type.Missing, Type.Missing,
  3.                             false, false, Excel.XlSaveAsAccessMode.xlNoChange,
  4.                             Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);


 
Le problème est que je suis amené à chaque clique de format d'augmenter la taille des saisies donc je risque de me retrouver avec un fichier à 50 Mo :aie: .
 
 
Merci d'avance.


Message édité par alpachinois le 12-08-2009 à 14:21:00
mood
Publicité
Posté le 11-08-2009 à 22:59:10  profilanswer
 

n°1914368
alpachinoi​s
Posté le 12-08-2009 à 14:16:08  profilanswer
 

Merci de ton aide c'était presque ça. En supprimant  

Code :
  1. # //all value column in text format
  2. #             ws.get_Range("A1", "B65000" ).NumberFormat = "@";


 
et en remplcant par

Code :
  1. ws.get_Range("A1", "B" + tab.Length).NumberFormat = "@";


J'obtiens bien un fichier d'une taille normale. Donc apparemment convertir 2 colonnes en format texte ça fait pas mal grossir le fichier  :sweat: .
 
Merci bien


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Fichier excel généré qui a une taille anormale [RESOLU]

 

Sujets relatifs
Conseil langage programmation ExcelImportation fichier csv sur une table access
[PHP] Listing de fichier, trier par datePhpAdmin : connexion impossible sous Wampserver [Résolu]
[Divers][Lecture]Utilisation de la bibliothèque portmidi : Pm_Read()[VB.NET] Sauvegarde en fichier xml
Récuperer des informations xml contenu dans le même fichier php[RESOLU] htaccess, htpasswd, md5, salt, validation password par php
Plus de sujets relatifs à : Fichier excel généré qui a une taille anormale [RESOLU]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR