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
Untertabellen als Excelexport im Dialog

Hallo,

kennt ihr eine gute möglichkeit aus einem Dialog heraus über einen Button beispielsweise heraus ein Excelexport zu generieren. Die Daten würden sich aus einer fest definierten Untertabelle befindet, welche ebenfalls im Dialog sichtbar ist?

  
  
Gepostet vor 2 Jahren
Stimmen Neuste

Antworten 5


Hi Stefan
danke für deine Nachricht.

Aber ich verstehe das immer noch nicht.

$this->getFullUploadPath('meinPTField'); bekomme ich den Pfad der Datei zurück und wie hilft mir das weiter?
Wie kann ich dann das als Download anbieten? In das Anhangsfeld kann ich es nicht zurückschreiben


Man kann über eine DialogFunction xlsx generieren.
Man sammelt die Daten in einer Map und macht dann im JS so etwas in der Richtung (verkürzt aus einem Projekt und ungetestet)

JS:

jr_execute_dialog_function(
                'getXlsx',
                { data: data },
                function(/** @type {{ status: string; result: { data: string; }; }} */ response) {
                    if (response.status === 'ok') {
                        var a = document.createElement('a');
                        a.download = 'export.xlsx';
                        a.href =
                            'data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,' +
                            response.result.data;
                        a.click();
                    } else {
                        handleError(response);
                    }
                },
                handleError
            );

PHP

<?php

class className extends JobRouter\Engine\Runtime\PhpFunction\DialogFunction
{
    public function execute($rowId = null)
    {
        require_once(Utility::getJobRouterPath() . '\library\vendor\phpoffice\phpspreadsheet\src\Bootstrap.php');
        $spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();
        $spreadsheet->getActiveSheet()->fromArray($this->getParameter('data'));

        ob_start();
        (new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet))->save('php://output');
        $this->setReturnValue('data', base64_encode(ob_get_clean()));
    }
}
  
  
Gepostet vor 2 Jahren
Stefan Köngeter
309 × 7 Administrator

Moin,

du kannst den vollen Link zur Datei bekommen via

$this->getFullUploadPath('meinPTField');
  
  
Gepostet vor 2 Jahren
Stefan Köngeter
309 × 7 Administrator

Hi Timo

ich hab einen anderen Wege gesucht.

Wie kriege ich es hin wenn in der Prozesstabelle dieser Wert steht: 000/000/137/811/ad202e8141168ea57d1a9cb6f57f185f.csv das ich es als Download anbiete? Hast du eine Idee? Wie kriege ich es aus der filestruktur zum Download bereitgestellt?

  
  
Gepostet vor 2 Jahren

Wir haben eine Funktion von unserem Dienstleister, die aus einer SQL-Tabelle eine CSV-Datei generiert. Diese würde sich auch relativ leicht auf Subtables umbauen lassen.
Da es nicht unser Code ist, kann ich dir leider nichts davon zur Verfügung stellen. Es geht aber auf jeden Fall und die Google-Suche hilft da in jedem Fall weiter.

Auf die Schnelle habe ich z.B. dies hier gefunden:
https://www.geeksforgeeks.org/how-to-export-html-table-to-csv-using-javascript/

  
  
Gepostet vor 2 Jahren
4K Ansichten
5 Antworten
vor 2 Jahren
vor 2 Jahren
Stichwörter