I managed to export result of my query to a downloadable csv, but can I format this csv output? for example with different font size, column width. Or can I turn it into xls file? also gonna need help with formatting it.
$connect = pg_connect($link);
$random = $_POST['random'];
$query = "SELECT nivelacija.broj_nivelacije, nivelacija.vezni_dokument, roba.sifra, roba.naziv, nivelacija_stavka.kolicina, nivelacija_stavka.pdv, nivelacija.datum_nivelacije, nivelacija_stavka.stara, nivelacija_stavka.nova, nivelacija_stavka.marza, nivelacija_stavka.nova - nivelacija_stavka.stara as razlika , nivelacija_stavka.kolicina * (nivelacija_stavka.nova - nivelacija_stavka.stara) as zaduzenje
from (select * from nivelacija where datum_nivelacije='$random') nivelacija
LEFT JOIN nivelacija_stavka ON nivelacija.nivelacija_id = nivelacija_stavka.nivelacija_id
LEFT JOIN roba on nivelacija_stavka.roba_id = roba.roba_id
ORDER BY nivelacija.nivelacija_id DESC;";
$resultID = pg_query($connect, $query) or die("Greska1. ");
$num_column = pg_num_fields($resultID);
$csv_header = '';
for($i=0;$i<$num_column;$i++) {
$csv_header .= "" . pg_field_name($resultID,$i) . "*";
}
$csv_header .= "\n";
$csv_row ='';
while($row = pg_fetch_row($resultID)) {
for($i=0;$i<$num_column;$i++) {
$csv_row .= "" . $row[$i] . "*";
}
$csv_row .= "\n";
}
function stripInvalidXml($OriginalString) {
$NekiKarakteriZaZamenu = array("&", "<", ">", "\"", "'" ,'"');
$KarakteriKojiMenjaju = array("&", "<", ">", """, "'" , '');
$ZamenjenString = str_replace($NekiKarakteriZaZamenu, $KarakteriKojiMenjaju, $OriginalString);
return $ZamenjenString;
}
/* Download as CSV File */
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename=nivelacija.csv');
echo $csv_header . $csv_row;
exit;
?>
This works but I just want a way of formatting it to xls so I can maybe add company logo, change font size, column width through php since CSV is text file. So we don't need to edit xls everytime we import this csv to excel.