Excel Befüllen
Dec 31, 2024Excel Template aus Power Apps heraus befüllen (mit Power Automate und Office Scripts)
Ich zeige dir, wie du ein Excel Template direkt aus Power Apps befüllen kannst. Dabei kombinieren wir Power Automate und Office Scripts, um Daten aus einer Power App in spezifische Excel Zellen zu übertragen. Schritt für Schritt erkläre ich dir den gesamten Prozess – von der Vorbereitung bis zur dynamischen Befüllung.
Schritt 1: Excel Template einrichten und Office Script erstellen
Starte damit, in einer SharePoint Dokumentenbibliothek dein Excel Template anzulegen. Füge darin alle relevanten Texte ein und definiere die zu befüllenden Zellen. Über den Reiter Automatisieren kannst du jetzt Aktionen aufzeichnen und damit ein Office Script erstellen. Ich empfehle dir, von einem anderen Tabellenblatt die Aufzeichnung zu starten, sodass der Schritt zur Navigation zum korrekten Tabellenblatt ebenfalls aufgezeichnet wird. Befülle dann alle relevanten Felder mit Testwerten.
Aufzeichnungsbeispiel:
function main(workbook: ExcelScript.Workbook) {
let tabelle1 = workbook.getWorksheet("Tabelle1");
// Set range C4 on tabelle1
tabelle1.getRange("C4").setValue("Test Name");
// Set range C11 on tabelle1
tabelle1.getRange("C11").setValue("Test Abteilung");
// Set range E21 on tabelle1
tabelle1.getRange("E21").setValue("Test Einstiegsdatum");
}
Schritt 2: Office Script anpassen
Um eine dynamische Befüllung mit Werten aus deiner Power App zu ermöglichen, musst du das aufgezeichnete Script noch anpassen und entsprechende Variablen definieren. Um den Überblick zu behalten solltest du das Script auch aussagekräftig benennen.
Anpassungsbeispiel für dynamische Inhalte
function main(workbook: ExcelScript.Workbook,Name:string,Abteilung:string,Einstiegsdatum:string) {
let tabelle1 = workbook.getWorksheet("Tabelle1");
// Set range C4 on tabelle1
tabelle1.getRange("C4").setValue(Name);
// Set range C11 on tabelle1
tabelle1.getRange("C11").setValue(Abteilung);
// Set range E21 on tabelle1
tabelle1.getRange("E21").setValue(Einstiegsdatum);
}
Schritt 3: Power Automate Flow erstellen
Die Datenübertragung zwischen Power Apps und dem Office Script musst du über Power Automate steuern. Lege dazu einen neuen Flow an, der aus Power Apps getriggert wird und sämtliche Daten aus der App anfordert. Im nächsten Schritt solltest du den Dateiinhalt des Templates abrufen sowie eine neue Datei mit den Inhalten erstellen. Das bewirkt, dass die Template Datei unverändert bestehen bleibt und für nachfolgende Automatisierungsvorgänge zur Verfügung steht. Erstelle eine neue Datei mit den dynamischen Inhalten aus dem Schritt davor. Den Dateinamen kannst du einzigartig gestalten, indem du z.B. ein übertragenes Element aus der App verwendest und zusätzlich einen Zeitstempel hinzufügst.
Im nächsten Schritt befüllst du dann das entsprechende Dokument mit den Werten aus der App und speicherst dieses dann am definierten Ort ab.
Schritt 4: Power App erstellen
Erstelle deine App mit allen relevanten Eingabefeldern, die du an das Excel Dokument übertragen möchtest. Füge abschließend einen Button ein, über den du den soeben erstellen Flow ausführst. Achte darauf, dass du die zu übertragenden Daten an der richtigen Stelle übergibst.
Button Excel Befüllen
OnSelect = Excelbefüllen.Run(txt_Name.Text;dd_Abteilung.Selected.Value;dp_Einstiegsdatum.SelectedDate)
Ich hoffe dieses Tutorial hilft dir dabei, deine Prozesse im Unternehmen effizienter und nutzerfreundlicher zu gestalten.
Melde dich gerne für meinen Newsletter an, in dem ich dir Tipps und Tricks rund um Power Apps & Power Automate zusende.
Hier gehts zum Detailvideo: