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 einem Jahr
  
  

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 einem Jahr 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 einem Jahr
Bearbeitet vor einem Jahr
Stefan Köngeter
309 × 7 Administrator
  
  

Super, vielen Dank!

Karim - Lukas   vor 11 Monaten Melden
2K Ansichten
1 Antwort
vor einem Jahr
vor einem Jahr
Stichwörter