Vanuit de Report Manager kun je een rapportage exporteren naar Excel. Excel 2003 kan echter maar 65.000 rijen aan per tabblad. Met dit truukje kun je dit probleem eenvoudig omzijlen.
Met dit eenvoudige truukje kun je de dataset die je wilt exporteren opsplitsen in meerdere tabbladen door gebruik te maken van pagebreaks.
Maak in je dataregion, bijvoorbeeld een tabel, een Group aan op de detailrij. Zet hier een pagebreak op en voer onderstaande expressie in:
=CInt(Ceiling(RowNumber(Nothing)/30000))
Na de 30.000e rij wordt er een pagebreak geplaatst. Dit zorgt automatisch voor een volgend tabblad in Excel.
Toch werkt het exporteren naar Excel niet ideaal voor grote datadumps. Ik heb een rapportage met heel veel rijen die niet naar Excel geëxporteerd kan worden (vanuit Report Manager). De zoektocht op internet levert niets op, enkel dat het gewoon niet kan. Ook is Report Manager niet bedoeld voor datadumps maar voor rapportjes.
{highslide type=”img” url=”artikelen/ssrs/exelexport2.jpg” width=600 captionText=’Exporteren 65000 records’}{/highslide}
Je kunt het beste een SSIS package maken en de data iedere nacht naar een CSV wegschrijven. Vervolgens bied je dit bestand aan via de Report Manager. Hier staat beschreven hoe je dat kan doen.