Télécharger des données volumineuses vers Excel

J'ai environ 3 millions de lignes dans SqlDataReader (~ 500Mb). Comment puis-je livrer ces données au client Excel? (Excel a une limitation de 1048K lignes par feuille)

Essayé d'utiliser ClosedXml. Mais plus de 100K par feuille que je n'ai pas réussi à créer. Obtenez toujours OutOfMemoryException lorsque InsérerData. Os – Win 32x

Ne suggérez pas – txt download. Déjà fait. Maintenant, Excel doit disposer de données séparées par des feuilles ou des files.

Des idées?

Si vous pouvez utiliser un produit commercial. Je suggère SoftArtisans Officewriter. Vous pouvez download un eval ici

Avec OfficeWriter, vous pouvez utiliser BindData d'ExcelTemplate en conjonction avec le modificateur de continuité

Ce qui se résume à <10 lignes de code et un couple d'espace réservé dans un file model. Il est très facile à mettre en œuvre et vous permettra de faire évoluer vos données sur la prochaine feuille de calcul.

Disclaimer: Je travaille pour SoftArtisans les fabricants de OfficeWriter

Comment ces données seront utilisées? S'ils finissent par une sorte de table pivot, vous pourriez envisager Powerpivot aussi.

Il est capable de gérer plus de 3 millions de lignes et c'est gratuit, sauf si vous devez le publier dans un server Sharepoint.

Ami a essayé d'importer datatables puis de les ouvrir avec EXCEL? J'ai vu quelqu'un le faire et il fonctionnait le plus ne sait pas si cela fonctionnera maintenant avec des mises à jour et des contraintes d'intégrité que les programmeurs mettent plus d'essais, ça ne fonctionne pas, une autre dieia fera les choses suivantes, vous avez déjà les commands en table sql et va à l'printing est plus facile pour vous de find tout là-bas, vous allez progressivement l'actualiser dans execl

3 millions de lignes, 1 million de lignes par feuille? bouclez datatables et chargez-les dans chaque feuille, ou écrivez des requêtes pour split la première table en 3 plus petites et charger chaque nouvelle table dans une feuille. Le premier sera chien lent mais facile, le deuxième sera plus difficile par plus vite.