2013-04-15 3 views
1

J'ai une liste avec quelques valeurs, j'ai aussi un TextBox où je dois écrire un nombre, puis j'ai besoin de construire un Excel avec beaucoup Feuilles avec des valeurs provenant de la liste. En d'autres termes et par exemple: Liste a 1000 valeurs, puis j'entre 100 dans TextBox, donc je vais devoir générer un fichier Excel avec beaucoup de feuilles car les valeurs sont dans Itérer sur la valeur entrée dans la TextBox dans ce cas sera un fichier Excel avec 10 feuilles, chaque feuille avec 100 cellules. C'est clair? Comment je peux le faire en utilisant Microsoft.Office.Interop.Excel?Comment créer un fichier Excel à partir de la liste <string> en utilisant Microsoft.Office.Interop.Excel

+3

OK, pouvez-vous nous montrer ce que vous avez essayé? On dirait que vous avez une description assez claire du problème, vous attendiez-vous à ce que nous l'écrivions pour vous? – tnw

+0

@tnw non, je veux juste obtenir quelques idées parce que je connais le code pour écrire une cellule mais pas pour écrire beaucoup de cellules et créer des feuilles, c'est ce que je demande – Reynier

+0

@tnw aussi je lis [ceci] (http : //www.4microsoftsolutions.com/post/Create-Excel-file-Open-Excel-file-Write-and-Read-Excel-file-in-C.aspx) mais n'est pas clair pour moi du tout, je ' m pas un expert C#, ce sont mes premiers pas – Reynier

Répondre

0

Pour les feuilles de calcul:

//get the first workbook in an application 
Workbook WB = Application.Workbooks[0]; //Or any other workbook you preffer 

Now loop the following for each list of strings you have (each list to a worksheet) 
    Worksheet WS = (Worksheet)WB.Worksheets.Add(); //this command adds worksheets 
    Range R = WS.Range["A1"]; //or any other cell you like 

    //now for cells 
    for (int i = 0; i < YourStringList.Count; i++) //I believe you can manage to separate the lists yourself 
    { 
     R.Offset[i, 0].Value = YourStringList[i]; 
    } 
End of the loop 
+0

J'ai un doute à ce sujet, ce code va créer un classeur avec une feuille de calcul non? Ceci est créé à la volée? Comment puis-je sauvegarder ce fichier pour obtenir un fichier Excel? devrais-je ajouter un composant saveDialog pour enregistrer le fichier? Je suis un peu perdu ici – Reynier

+0

Le classeur représente un fichier. Le code Getting avec 'Workbooks [0]' le premier classeur dans l'application Excel. Vous pouvez également ajouter des classeurs avec 'Workbooks.Add'. Un classeur a les méthodes "save" avec quelques options (vous pouvez utiliser des dialogues si vous le souhaitez). Et oui, je vous ai donné du code pour créer une seule feuille, mais vous pouvez en créer autant que vous le souhaitez dans un seul classeur. Vous pouvez utiliser le 'Worksheets.Add' dans une boucle pour créer autant que le nombre de listes que vous avez. (corrigé une erreur dans le code, s'il vous plaît vérifier) ​​ –

+0

Hmm, je me perds avec votre édition! Si vous lisez ma première question, je dis que je vais avoir 10 feuilles basées sur 'YourStringList.Count/TextBox1.Text' c'est ce que vous dites ici? – Reynier

Questions connexes