Examples: query, "exact match", wildcard*, wild?ard, wild*rd
Fuzzy search: cake~ (finds cakes, bake)
Term boost: "red velvet"^4, chocolate^2
Field grouping: tags:(+work -"fun-stuff")
Escaping: Escape characters +-&|!(){}[]^"~*?:\ with \, e.g. \+
Range search: properties.timestamp:[1587729413488 TO *] (inclusive), properties.title:{A TO Z}(excluding A and Z)
Combinations: chocolate AND vanilla, chocolate OR vanilla, (chocolate OR vanilla) NOT "vanilla pudding"
Field search: properties.title:"The Title" AND text
Beantwortet
Erstellung und Versand einer Excel-Datei direkt aus einem JR-Prozess

Hallo zusammen,
kennt ihr einen Weg, wie ich direkt aus einem JR-Prozess eine Excel-Datei erstellen und diese anschließend über eine E-Mail-Aktivität verschicken kann?
Die vorhandene Systemaktivität "CSV Export" erfordert leider eine lokale Umwandlung, was nicht ideal ist.
Viele Grüße, Karim

  
  
Gepostet vor 8 Monaten
  
  

Mir ist nicht ganz klar, was du mit lokaler Umwandlung meinst, aber du kannst mit dieser Bibliothek
https://phpspreadsheet.readthedocs.io/en/latest/
ja einfach eine Excel-Datei erzeugen, in ein Anhangsfeld speichern und mit einem E-Mail-Schritt verse...

Swen Niehaus   vor 8 Monaten Melden
Stimmen Neuste

Antworten


Hey,
ja haben wir, siehe wie folgt. Kann man aus Dialogfunktionen und aus Regelausführungsfunktionen nutzen.
ACHTUNG: Der Aufruf von Utility:: funktioniert glaub ich ab 2024.1 nicht mehr. Muss man den Pfad klassisch zusammenbauen.

private function createExcel($preparedArray) {
        require_once(Utility::getJobRouterPath() . '\library\vendor\phpoffice\phpspreadsheet\src\Bootstrap.php');
        $spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();
        $spreadsheet->getActiveSheet()->fromArray($preparedArray);
        foreach ($spreadsheet->getActiveSheet()->getColumnIterator() as $column) {
            $spreadsheet->getActiveSheet()->getColumnDimension($column->getColumnIndex())->setAutoSize(true);
        }
        ob_start();
        (new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet))->save('php://output');
        $tempFile = $this->getFullTempPath() . DIRECTORY_SEPARATOR . 'my_filename.xlsx';
        file_put_contents($tempFile, ob_get_clean());
        $this->attachFile($tempFile, 'MY_PT_FIELD');
        unlink($tempFile);
    }
1
1
Gepostet vor 8 Monaten
Bearbeitet vor 8 Monaten
Stefan Köngeter
309 × 7 Administrator
  
  

Super, vielen Dank!

Karim - Lukas   vor 8 Monaten Melden
2K Ansichten
1 Antwort
vor 8 Monaten
vor 8 Monaten
Stichwörter