2009-08-15 5 views
1

Je travaille dans VS2005 et j'ai besoin de la syntaxe C# pour écrire des valeurs de collection dans une feuille Excel. J'initialise la collection comme ceci:Ecriture d'une collection dans Excel

Reports oReports =new Reports();//oReports is a collection 

En supposant que cette collection a des valeurs, comment les écrirais-je dans Excel?

Répondre

0

Parcourez la collection et ajoutez les valeurs de collection aux cellules de votre feuille de calcul.

est ici quelques liens sur la façon de travailler avec une feuille de calcul Excel en .Net

http://www.c-sharpcorner.com/UploadFile/thiagu304/ExcelAutomation01052007080910AM/ExcelAutomation.aspx

http://support.microsoft.com/default.aspx?scid=kb;EN-US;302084

+0

Voulez-vous envoyer une syntaxe ..... Je veux juste écrire Excel de la collection ... –

+0

Je ne suis pas sûr de comprendre. Les exemples fournis montrent comment écrire pour exceller dans .Net. Ne savez-vous pas comment travailler avec la collection dans .Net? – klabranche

0

Convertir vos rapports à un tableau d'objets (deux dimensions), et attribuer le tableau à une gamme excel

5

Vous pourriez faire quelque chose de rapide et sale si vous ne voulez pas apprendre à écrire sur Excel - écrivez simplement dans un fichier .csv, ouvrez-le vous-même dans Excel et sauvegardez comme E format xcel.

sortie juste dans un cours d'eau, tels que: (fonctionnera si vos valeurs de rapport ont des virgules dans eux aussi)

using (StreamWriter sw = new StreamWriter(@"C:\file.csv")) 
{ 
    StringBuilder csvLine = new StringBuilder(); 

    //Enter your header row here: 
    csvLine.Append("Header1,Header2,Header3"); 
    sw.WriteLine(csvLine.ToString()); 

    foreach (Report report in Reports) 
    { 
     csvLine = new StringBuilder(); 
     csvLine.Append(string.Format("\"{0}\",", report.Value1)); 
     csvLine.Append(string.Format("\"{0}\",", report.Value2)); 
     csvLine.Append(string.Format("\"{0}\"", report.Value3)); //etc 
     sw.WriteLine(csvLine.ToString()); 
    } 
    sw.Flush(); 
} 
+0

Pour utiliser des éléments contenant des virgules, placez la chaîne avec 2 guillemets doubles. csvLine.Append ("\" "); csvLine.Append (string.Format (" {0}, ", report.Value1));; csvLine.Append (" \ ""); – Mikos

+0

Bon cri, ça marche cool. – Michael

Questions connexes