Class for exporting submissions in XLS format.
Description
Source
File: src/components/submission-export-xls.php
class Submission_Export_XLS extends Submission_Export { /** * Generates the actual export from given data. * * @since 1.0.0 * * @param array $columns Associative columns array of `$column_slug => $column_label` pairs. * @param array $rows Rows array where each row is an associative array of * `$column_slug => $column_value` pairs. * @param Form $form Form for which submissions are being exported. */ protected function generate_export_from_data( $columns, $rows, $form ) { $filename = sanitize_title( $form->title ) . '.xls'; header( 'Content-Type: application/vnd.ms-excel' ); header( 'Content-Disposition: attachment;filename="' . $filename . '"' ); header( 'Cache-Control: max-age=0' ); header( 'Cache-Control: max-age=1' ); // For IE9. header( 'Expires: Mon, 26 Jul 1997 05:00:00 GMT' ); header( 'Last-Modified: ' . gmdate('D, d M Y H:i:s' ) . ' GMT' ); header( 'Cache-Control: cache, must-revalidate' ); // For HTTP 1.1. header( 'Pragma: public'); // For HTTP 1.0. $php_excel = new \PHPExcel(); $php_excel->setActiveSheetIndex( 0 ); $i = 0; foreach ( $columns as $slug => $label ) { $php_excel->getActiveSheet()->setCellValueByColumnAndRow( $i, 1, $label ); $i++; } $php_excel->getActiveSheet()->fromArray( $rows, null, 'A2' ); $writer = \PHPExcel_IOFactory::createWriter( $php_excel, 'Excel5' ); $writer->save( 'php://output' ); exit; } /** * Bootstraps the export class by setting properties. * * @since 1.0.0 */ protected function bootstrap() { $this->slug = 'xls'; $this->title = _x( 'XLS', 'file extension', 'torro-forms' ); $this->description = __( 'Exports submissions in XLS format, to be used by table processing software such as Excel.', 'torro-forms' ); $this->export_format = 'xls'; } }
Changelog
Version | Description |
---|---|
1.0.0 | Introduced. |
Methods
- __construct — Constructor.
- bootstrap — Bootstraps the export class by setting properties.
- export_submissions — Exports submissions for a form.
- generate_export_from_data — Generates the actual export from given data.
- get_columns — Gets all columns for the export.
- get_description — Gets the submission export description.
- get_element_columns — Gets element columns for the export.
- get_rows — Gets all rows for the export.
- get_slug — Gets the submission export slug.
- get_submission_columns — Gets submission columns for the export.
- get_title — Gets the submission export title.