Skip to content

Instantly share code, notes, and snippets.

@mgrubinger
Created April 2, 2015 09:54
Show Gist options
  • Save mgrubinger/8045537b8f53ea8391a4 to your computer and use it in GitHub Desktop.
Save mgrubinger/8045537b8f53ea8391a4 to your computer and use it in GitHub Desktop.
export pdf from php
function export_csv() {
$filename = "file_" . date('Y-m-d');
// get csv data
$data = $this->get_csv_data(); // expects: array with lines as array
// define header
$header = array('col1', 'col2', 'col3');
// export
toCSV($header, $data, $filename);
}
function toCSV($header, $data, $filename) {
$sep = "\t";
$eol = "\n";
$csv = count($header) ? '"'. implode('"'.$sep.'"', $header).'"'.$eol : '';
foreach($data as $line) {
$csv .= '"'. implode('"'.$sep.'"', $line).'"'.$eol;
}
$encoded_csv = mb_convert_encoding($csv, 'UTF-16LE', 'UTF-8');
header('Content-Description: File Transfer');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename="'.$filename.'.csv"');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: '. strlen($encoded_csv));
echo chr(255) . chr(254) . $encoded_csv;
exit;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment