menu
sluiten
terug naar overzicht

René Kalf

+31 6 22 98 68 96


07/10/21

Excel afschermen met PowerApps

In elke organisatie wordt Excel gebruikt. Bij de ene organisatie wordt het veel gebruikt en bij de andere organisatie héél veel. Kortom ik ken geen enkele organisatie waar het niet gebruikt wordt! Excel kan alles, van eenvoudige lijstjes tot complexe calculaties, zo wordt het ook overal gebruikt. Dat brengt wel zijn eigen beheer problemen met zich mee.

Zo zie ik vaak complexe Excels die zelfs de bedenker en eigenaar niet helemaal meer snapt of waarvan de bedenker al lang ergens anders werkt. Vaak zijn deze complexe Excels wel de basis van belangrijk business processen. Versiebeheer en data governance worden dan een nachtmerrie. Afgezien nog van onbedoelde foutjes waarbij een belangrijke cel of formule verdwijnt of leidt tot ongewenste resultaten. Wat zou het mooi zijn als je Excel zou kunnen laten doen waar het goed in is, namelijk rekenen. En wat zou het handig zijn als de invoer ergens anders gebeurt zodat de calculatie veilig en intact blijft. En als het daarnaast ook nog kan werken met versiebeheer en tracking en tracing (wie wat doet), dan zou het helemaal mooi zijn! Nou, dan heb ik goed nieuws: dat kan! In de tijden van de goede oude SharePoint was er al een Excel service waar dit mee kon, maar de techniek schrijdt voort: daar hebben we nu PowerApps voor. Hoe dat werkt?

We gebruiken PowerApps om een invulformulier te maken. Vervolgens gebruikt PowerApps Excel als database en stuurt de informatie uit het ingevulde formulier naar Excel. Excel doet zijn rekenwerk en plaatst de uitkomst van de berekening in de ’database’ waarmee PowerApps weer verder kan. Er zijn in het Power Platform uitgebreide vervolgacties mogelijk van het genereren van PDF bestanden tot aan mailen of plaatsen van een Twitter bericht. Dat laatste zal niet gauw gebeuren, maar zegt wel iets over de flexibiliteit van het Power Platform met PowerApps en Power Automate.

Figuur 1 PowerApps vormt een “wrapper” om Excel

Hoe werkt dit technisch?

Zonder al te diep in de techniek te duiken begin je met het uitbreiden van je Excel met een extra sheet in Tabel vorm. Op dit sheet maak je kolommen met de invoer informatie die je nodig hebt voor je calculatie. Ook voeg je één of meer kolommen toe waar de uitkomst van de calculatie wordt opgeslagen. Vervolgens ga je naar PowerApps en start je met het bouwen van een Canvas App. Om de connectie met Excel te kunnen maken voeg je de Excel Online connector toe, waarna je het Excel bestand opzoekt dat in een Team, SharePoint of OneDrive staat.

In PowerApps bouw je een formulier met invoervelden, in onderstaand screenshot gaat het om een simpele demonstratie waarbij Excel twee waarden bij elkaar op telt, te weten Input A en B.

Deze invoervelden vind je terug in Excel: een tabel met kolommen Input A, Input B en Respsons (typefout 😊 bij het maken van de demo). Ook voegt PowerApps een kolom __PowerAppsId__ toe met een uniek ID. In de Respons kolom doe je in dit geval de calculatie, of verwijs je naar de uitkomst van een andere berekening uit een ander tabblad.

Deze kolommen kan je uitbreiden met de naam van de gebruiker die de berekening aanvraagt en bijvoorbeeld de datum van de berekening. Zo bouw je tracking en tracing, om je Data Governance op orde te hebben.

De uitkomst van de Excel calculatie toon je in de PowerApps Canvas App door deze via de Excel connector op te vragen. Je kan deze uitkomst zoals eerder vermeld verder verwerken in een PDF, Word document of opslaan in andere databron als SharePoint, Dataverse of Azure SQL. De mogelijkheden van Power Automate zijn uitgebreid. Vooral omdat je ook nog alle Clouddiensten van Azure tot je beschikking hebt.

Op deze manier bouw je een voorkant met PowerApps en blijft je Excel sheet veilig intact in je Office omgeving. Niemand hoeft meer direct in de Excel sheet te werken!

Met dit blog artikel wil ik je laten zien dat het mogelijk is om Excel af te schermen met PowerApps als gebruiksvriendelijke voorkant.

Delen

Wil je meer weten over deze PowerApps techniek? 

Neem contact op met René Kalf