Search

onze sponsors

microsoft_logo.gif


 

computrain_logo.JPG

Forum Login | Register
   Forum

 

Subject: SSIS naar Excel 2007 en Excel legen
Prev Next
You are not authorized to post a reply.

Author Messages
Ronald KraijesteijnUser is Offline

Posts:37

04-03-2009 17:09:13 Alert 
Ik heb voor een gebruiker een datadump nodig. Eerst heb ik de oplossing gezocht in het bouwen van een rapport in Reporting Services. Vervolgens zou hij dit rapport naar Excel kunnen exporteren. Dit gaf echter grote problemen gezien het aantal records (75.000). Na onderzoek op internet blijkt dat de oplossing gezocht moet worden in het generen van een CSV of Excelfile.

Nu had ik het idee om 's nachts tijdens de ETL-runs een Excel 2007 file te vullen met de data. Geen probleem zou je zeggen. Echter zodra je dit bestand voor de tweede keer wilt vullen plakt hij de rijen er gewoon achteraan.

Nu zocht ik een oplossing om de Excelfile te legen. Dit lukt mij met geen mogelijkheid en schijnt ook niet te kunnen.

Heeft iemand een idee om te probleem te tackelen? Ik zat te denken aan een CSV file, volgens mij kun je die wel eenvoudig automatisch laten aanmaken.

Ik heb er nog een blogje over geschreven: http://sqlblog.nl/Artikelen/Integration-Services/exporteren-ssis-data-naar-excel-2007.html

SQL2k5 tips/trick @ http://www.sqlblog.nl/
Arjan FraaijUser is Offline

Posts:111

05-03-2009 08:02:19 Alert 
Hallo Ronald,

Ik heb voor een klant van mij een Excel template gemaakt die door een filehandler task in het SSIS proces eerst wordt gekopieerd en daarna aangevuld met de benodigde data sheets. De template is eenmalig opgebouwd met gevulde data sheets en daarna zijn de data sheets leeg gemaakt. Bij iedere run kopieer ik dus gewoon een leeg excel document met opmaak maar zonder data en vul daarna de data sheets.



Ronald KraijesteijnUser is Offline

Posts:37

05-03-2009 08:28:57 Alert 
Hoi Arjan,

Thanks voor de tip.

Je bedoeld dus dat je eerst een sjabloon maakt van het Excelbestand dat je wilt gaan vullen. Deze plaats je bijvoorbeeld op c:\. Vervolgens kopieer je dit lege bestand naar een andere folder, bijvoorbeeld c:\vullen . Daarna plomp je het bestand vol met data en kopieer je het weer verder naar bijvoorbeeld c:\gevuld . Klinkt logisch. Ik ga het vandaag uitproberen!

SQL2k5 tips/trick @ http://www.sqlblog.nl/
Arjan FraaijUser is Offline

Posts:111

05-03-2009 10:10:25 Alert 
Inderdaad,

In dit geval zit deze in een ForEach Ado container omdat hij 150 keer met een ander data set aangemaakt moet worden voor verschillende klanten.

High Level doe ik het volgende
Start ForEach ADO Container: (Select CustomerName,CustomerID FROM Customers)
File Task (Copy template to Customer_X_YYYYMMDD.XLS) -> Fill Data Sheets with data for customer_X -> Mail Task (Send Customer_X_YYYYMMDD.XLS to Customer_X) -> FileTask (Move Customer_X_YYYYMMDD.XLS to StorageFolder\YYYYMMDD) ->
End ForEach ADO Container:
Ronald KraijesteijnUser is Offline

Posts:37

05-03-2009 10:13:39 Alert 
Thanks voor de tips, het is inmiddels al gelukt en ik heb het blogverhaal aangevuld met de solution. Wel jammer dat je geen Excelfile kunt leegsmijten met een OPENROWSET statement, dan was het iets eenvoudiger geweest. Ik probeer mijn packages altijd zo transparant mogelijk te houden en dat is op deze manier ook gelukt.

SQL2k5 tips/trick @ http://www.sqlblog.nl/
You are not authorized to post a reply.
Forums > Forums > Business Intelligence > SSIS naar Excel 2007 en Excel legen



ActiveForums 3.6
  
Copyright (c) 2012 PASS Nederland   Privacy Statement  Terms Of Use