Der Daten Import / Export Spezialist
 
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Schauen Sie sich auch die verfügbaren Beispiele zum Excel Adapter an evtl. kann Ihre Frage hiermit schon beantwortet werden: CSV Export mit Gruppierung
  • Seite:
  • 1

THEMA:

Mehrere Arbeitsblätter auf einmal verarbeiten 6 Monate 1 Woche her #4284

  • FlowHeater-Team
  • FlowHeater-Teams Avatar Autor
  • Offline
  • Beiträge: 1683
Hallo,

ich stehe vor der Herausforderung eine Exceldatei mit mehreren Registerkarten zu verarbeiten. Meine Frage: Ist es möglich mit dem Excel Adapter mehrere Registerkarten auf einmal zu verarbeiten?

Wie im Screenshot zu sehen soll der Inhalt aller Registerkarten in einer Datenbank importiert werden.


 

LG J. Schaffer
Anfrage per Email erhalten
 
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehrere Arbeitsblätter auf einmal verarbeiten 6 Monate 1 Woche her #4285

  • FlowHeater-Team
  • FlowHeater-Teams Avatar Autor
  • Offline
  • Beiträge: 1683
Hallo Herr Schaffer,

mit dem Excel Adapter kann aktuell immer nur ein Arbeitsblatt/Registerkarte verarbeitet werden.

Über das Batch Modul und einem CMD Skript kann das „halb automatisiert“ realisiert werden, hier finden Sie ein Beispiel dazu: Batchverarbeitung von Exceldateien

Der Excel Adapter unterstützt auch den Verweis auf ein Arbeitsblatt über dessen Index. So müssen Sie nicht den Namen des Arbeitsblattes angeben, sondern können hier 1, 2, 3 … verwenden.

z.B. (bezugnehmend auf das oben erwähnte Beispiel)
%FHBATCH% /SetParameter SHEET=1 excel-import.fhd
%FHBATCH% /SetParameter SHEET=2 excel-import.fhd


So könnte das über ein kleines PowerShell Skript auch fast “automatisch” realisiert werden. Wenn das für Sie eine Option kann ich Ihnen hier ein kleines Beispiel PowerShell Skript anfertigen.
 
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehrere Arbeitsblätter auf einmal verarbeiten 6 Monate 1 Woche her #4287

Hallo Herr Stark,

das wäre sehr gut wenn Sie ein Beispiel einstellen können. Vielleicht auch wie ich es dann mit dem Batchprogramm aufrufe.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehrere Arbeitsblätter auf einmal verarbeiten 6 Monate 1 Woche her #4289

  • FlowHeater-Team
  • FlowHeater-Teams Avatar Autor
  • Offline
  • Beiträge: 1683
Hallo Herr Schaffer,

hier das PowerShell Skript mit dem Sie alle Arbeitsblätter einer Excel Arbeitsmappe automatisiert verarbeiten können.

Das Skript benötigt zwei Parameter. Einmal die Excel Arbeitsmappe und zum anderen die FlowHeater Definition. In der Definition wird dann ein FlowHeater ParameterINDEX“ gesetzt. Dieser wird verwendet um auf die einzelnen Arbeitsblätter zuzugreifen. Wichtig ist hier, dass es keine gleichnamigen Arbeitsblätter in der Arbeitsmappe gibt, das würde dann nicht funktionieren bzw. wird das Ergebnis dadurch verfälscht.

In der Definition wird der Parameter im Excel Adapter als Platzhalter eingetragen. Der Parameter wird dann vom Skript vor jedem Aufruf um den Wert 1 erhöht. Das PowerShell Skript liest solange wie das Batch Modul keinen Fehler meldet. Das Tritt auf, wenn der Angesprochene Arbeitsblatt/Worksheet Index nicht mehr vorhanden ist.

Aufgerufen wird das Skript über die PowerShell Konsole
  .\excel-import.ps1 -Arbeitsmappe .\beispiel.xlsx -Definition .\excel-import.fhd

Im Skript muss lediglich der Pfad zum Batch Modul angepasst werden, siehe Kommentare im Skript.

PowerShell Skript im alle Arbeitsblätter einer Excel Arbeitsmappe automatisiert zu verarbeiten
Param(
    [Parameter(Mandatory=$True)]
    [string]$Arbeitsmappe,

    [Parameter(Mandatory=$True)]
    [string]$Definition
)

# hier Pfad zum Batch Modul anpassen, evtl. 64 Bit Version
[string] $FHBATCH = "C:\Program Files (x86)\FlowHeater V4\BIN\FHBatch.exe"

[int] $i = 0
do
{
    # Aktuellen Excel Arbeitsbatt (Sheet) Index hochzählen
    $i++

    # Aufruf Batch Moduls mit den benötigten Parametern    
    & $FHBATCH /ReadFileName $Arbeitsmappe /SetParameter INDEX=$i $Definition

} while ($LASTEXITCODE -ge 0 -and $LASTEXITCODE -le 8) # lässt auch Warnungen zu, bricht erst bei einem Fehler ab


FlowHeater Parameter als Excel Arbeitsblatt Index
 


 

Dateianhang:

Dateiname: powershell...port.zip
Dateigröße:13 KB
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Seite:
  • 1
Ladezeit der Seite: 0.215 Sekunden

andere Sprachen

en

FlowHeater Home

de en

Impressum/Kontakt

Datenschutz

Copyright © 2009-2021 by FlowHeater GmbH.
Alle Rechte vorbehalten.

Follow us on

twitter  facebook

YouTube

 de en