Project

General

Profile

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> 
    

Back