Dynamischer Daten Import / Export

datenbank

weil Einfach - produktiver ist
Mit der Freeware Version können bis zu 10.000 Datensätze verarbeitet werden!
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Willkommen im FlowHeater Support Forum!

Hier werden Fragen zum Umgang mit dem FlowHeater beantwortet.

THEMA: Dateiname im Exceladapter(Write) dynamisch

Dateiname im Exceladapter(Write) dynamisch 5 Jahre 4 Monate her #591

  • Andreas Knobloch
  • Andreas Knoblochs Avatar
  • Offline
  • Junior Member
  • Beiträge: 33
Hallo Zusammen,

ich hab folgende Herausforderung beim Export aus einer Datenbank in eine Exceldatei und zwar muss im Dateinamen der exportierten Exceldatei der Vormonat und das Jahr enhalten sein.

Das Problem liegt eigentlich nur daran den Dateinamen anzupassen. Hier muss die Datei ja bereits angelegt sein bevor Flowheater die Daten reinschreiben kann.

Gibt es hier die Möglichkeit dies im NET-Heater umzusetzen oder kann dies nur über ein Batch-Skript abgedeckt werden?


Mit freundlichen Grüßen

Andreas Knobloch
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Dateiname im Exceladapter(Write) dynamisch 5 Jahre 4 Monate her #595

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1102
Hallo Herr Knobloch,

mit Excel funktioniert das mit dem dynamischen Dateisetzen genauso wie mit TextFile Adapter. Der Excel Adapter legt die Excel Arbeitsmappe automatisch neu an, wenn sie nicht vorhanden ist.

Das Skript muss dazu allerdings etwas angepasst werden, hier das Skript für den Excel Adapter um die Arbeitsmappe/Workbook per Code zu setzen.
bool bSetFilename = true;

public object DoWork()
{
  if (InValues.Length != 1)
    throw new Exception("ein Eingangsparameter erwartet");

  // Dateiname nicht im Testmodus setzen
  if (bSetFilename == true && AdapterWrite.OnlyTest == false)
  {
    bSetFilename = false;

    DateTime vormonat = DateTime.Now.AddMonths(-1);

    // Zugriff auf Excel Adapter der Write Seite
    ExcelAdapter adapter = (ExcelAdapter)AdapterWrite;
   
    // Ausgabepfad der Excel Arbeitsmappe ggf. anpassen
    string path = @"C:\Temp\";

    // MM = Monat 2 stellig, yy = Jahr 2 stellig, yyyy = Jahr 4 stellig
    string file = "export_" + vormonat.ToString("MMyy") + ".xls";

    // Workbook setzen
    adapter.Workbook = Path.Combine(path, file);
  }

  return InValues[0].GetValue();
}

PS: Das Ganze geht auch über die FHBatch.exe Kommandozeilen Option /WriteFileName
FHBatch.exe /WriteFileName export.xls excel-export.fhd
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.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Dateiname im Exceladapter(Write) dynamisch 5 Jahre 4 Monate her #596

  • Andreas Knobloch
  • Andreas Knoblochs Avatar
  • Offline
  • Junior Member
  • Beiträge: 33
Hallo Herr Stark,

ich war mal wieder nah dran. Ich hatte es mit
// Zugriff auf Excel Adapter der Write Seite
    ExcelAdapter adapter = (ExcelAdapter)AdapterWrite;
    adapter.Filename = "export_" + vormonat.ToString("MMyy") + ".xls";

Das fand der Compiler nicht so passend ;) .

Sie haben mir sehr weitergeholfen, vielen Dank.

Mit freundlichen Grüßen,

Andreas Knobloch
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Moderatoren: FlowHeater-Team
Ladezeit der Seite: 0.079 Sekunden