function formatXLSReport($data, $fields, $specificFields = array()) { require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; $sheet1 = array(); $rows = explode("\n", $this->formatCSVReport($data, $fields, $specificFields)); foreach($rows as $row) $sheet1[] = str_getcsv($row); $pe = new PHPExcel(); $pe->getProperties() ->setCreator("Leadtracker") ->setTitle("Leadtracker report"); $format_und = new PHPExcel_Style(); $format_reg = new PHPExcel_Style(); $format_und->applyFromArray( array( 'borders' => array( 'bottom' => array('style' => PHPExcel_Style_Border::BORDER_THIN), ) )); $font = $format_und->getFont(); $font->setBold(true); $font->getColor()->setARGB(PHPExcel_Style_Color::COLOR_BLACK); $font->setName("Arial"); $font->setSize(8); $font = $format_reg->getFont(); $font->getColor()->setARGB(PHPExcel_Style_Color::COLOR_BLACK); $font->setName("Arial"); $font->setSize(8); $sheet = $pe->setActiveSheetIndex(0); $sheet->setTitle("Rapport"); $sheet->setSharedStyle($format_und, "A1:Q1"); $sheet->setSharedStyle($format_reg, "A2:Q100"); $rowcount = count($sheet1); $colcount = count($sheet1[0]); for ($j = 0; $j < $rowcount; $j++) { for ($i = 0; $i < $colcount; $i++) { if (isset($sheet1[$j][$i])) { $sheet->setCellValueByColumnAndRow($i, $j+1, $sheet1[$j][$i]); } } } $writer = PHPExcel_IOFactory::createWriter($pe, 'Excel5'); ob_start(); $writer->save("php://output"); return ob_get_clean(); }