mon programme rassemble des données à partir de différents fichiers XML en sélectionnant des données avec LINQ. Il en résulte des propriétés ci-dessous pour chaque élément de mes collections d'objets. Chaque collection ayant environ 10 000 objets (avec 11 propriétés), 15 collections.
https://i.stack.imgur.com/5R1Hj.jpg
Tout va bien jusqu'à ce que je doive les exporter vers un fichier Excel. Je boucle chaque donnée de cellule comme ci-dessous, alors c'est beaucoup trop long. Comme décrit ci-dessus, il y a de grandes quantités de données à exporter.
foreach (dataContainer elt in Liste)
{
for(int b = 1; b <= 11; b++)
{
Excel.Range currentRange = outputWorksheet.Cells[Liste.IndexOf(elt)+2, b];
switch (b)
{
case 1: currentRange.Value2 = elt.ctNumber;break;
case 2: currentRange.Value2 = elt.isoType; break;
case 3: currentRange.Value2 = elt.bkgNumber; break;
case 4: currentRange.Value2 = elt.POO; break;
case 5: currentRange.Value2 = elt.POL; break;
case 6: currentRange.Value2 = elt.POD; break;
case 7: currentRange.Value2 = elt.OPE; break;
case 8: currentRange.Value2 = elt.Empty; break;
case 9: currentRange.Value2 = elt.flagOOG; break;
case 10: currentRange.Value2 = elt.teus; break;
case 11: currentRange.Value2 = elt.weight; break;
}
}
}
Comment puis-je améliorer ma façon d'exporter des données dans Excel? Sachant que je ne peux pas utiliser le fichier.csv.
Solution du problème
Si vous créez un fichier Excel autonome au lieu de mettre à jour celui actuellement affiché, la création directe du fichier à l'aide du SDK Open XML plutôt que du modèle d'objet Excel serait plus rapide - commencez à https://docs.microsoft.com/en-us/ bureau/open-xml/feuilles de calcul
Aucun commentaire:
Enregistrer un commentaire