Support #7103
Updated by Carsten Rose over 5 years ago
Hier ein paar Notizen von der Excel Export Version QFQ Excel Moeglichkeiten um das Excel zu erzeugen: * wie beim download koennen mehrere sourcen angegeben werden. * pro source wird ein worksheet gemacht. * der source wird als csv geliefert * report kennt einen neuen 'special column name': ... AS _csvs (semincolon), csvc (comma) beim csv * ist die erste zeile immer das spalten format - kann leer sein. * ist die zweite zeile immer die titel zeile - kann leer sein * die werte sind mit ';' getrennt. * ';' wird mit '\' escaped * die values sind nicht enclosed <pre> <format>: date, time, number, string, currency worksheet:0 mode:insert mode:overwrite (default) startAddress:A5 <Format>:<Value> <Format>:<Value> row <Format>:<Value> <Format>:<Value> p:export&pIdOu=123 >> ?index.php&id=export&s=badcaffee1234 </pre> <pre> Format - Ein bereits vorhandenes File zum Download anlegen: * 'F:fileadmin/data.xlsx' AS _excel * 'd|m:excel|s:1|F:fileadmin/data.xlsx' AS _link Ein Excel neu anlegen * 'd|p:exportexcel?pIdOu=456' AS _excel Ein Excel basierend auf einem template anlegen * 'd|F:fileadmin/template.xlsx|p:exportexcel?pIdOu=456' AS _excel Defaults fuer 'AS _excel' * m:excel * s:1 * d: Tipps * https://github.com/PHPOffice/PHPExcel/blob/1.8/Documentation/markdown/Overview/07-Accessing-Cells.md * Ein bestehendes Excel als template nehmen. * https://phpspreadsheet.readthedocs.io/en/develop/topics/reading-and-writing-to-file/#generating-excel-files-from-templates-read-modify-write Error Handling * https://phpspreadsheet.readthedocs.io/en/develop/topics/reading-files/#error-handling API Documentation * https://phpoffice.github.io/PhpSpreadsheet/master/ Metadata * https://phpspreadsheet.readthedocs.io/en/develop/topics/recipes/#setting-a-spreadsheets-metadata Shows up as 1,587.20 * $spreadsheet->getActiveSheet()->getStyle('A1')->getNumberFormat()->setFormatCode('#,##0.00'); Setting column width * https://phpspreadsheet.readthedocs.io/en/develop/topics/recipes/#setting-a-columns-width Insert Rows * https://phpspreadsheet.readthedocs.io/en/develop/topics/recipes/#inserting-rowscolumns * $spreadsheet->getActiveSheet()->insertNewRowBefore(7, 2); Set HTTP Header * https://phpspreadsheet.readthedocs.io/en/develop/topics/recipes/#redirect-output-to-a-clients-web-browser <pre> -------- header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="myfile.xlsx"'); header('Cache-Control: max-age=0'); $writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Xlsx'); $writer->save('php://output'); </pre>