/** Error reporting */ error_reporting(E_ALL); ini_set('include_path', ini_get('include_path') . ';../Classes/'); /** PHPExcel */ include 'PHPExcel.php'; include 'PHPExcel/Writer/Excel2007.php'; $objPHPExcel = new PHPExcel(); // Set properties $objPHPExcel->getProperties()->setCreator("Business USA"); $objPHPExcel->getProperties()->setLastModifiedBy("Business USA"); $objPHPExcel->getProperties()->setTitle("Business USA - CMS Reports"); $objPHPExcel->getProperties()->setSubject("Business USA - CMS Reports"); $objPHPExcel->getProperties()->setDescription("Business USA CMS Reports."); // Add some data $objPHPExcel->setActiveSheetIndex(0); myExcel_WriteValuesToActiveRow($objPHPExcel, array('this', 'is a', 'test')); // Save sheet $objPHPExcel->getActiveSheet()->setTitle('Simple'); $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); $objWriter->save('BusinessUSA - CMS Reports.xlsx'); function myExcel_getActiveRow() { global $myExcel_myActiveRow; if (!isset($myExcel_myActiveRow)) { $myExcel_myActiveRow = 1; } return $myExcel_myActiveRow; } function myExcel_setActiveRow($rowNumber) { global $myExcel_myActiveRow;
function arrayToExcel($objPHPExcel = null, $rows, $writeArrayKeysAsHeader = false, $rowStartWrite = 1, $setActiveSheetTo = 0, $sheetName = null) { include_once 'sites/all/libraries/PHPExcel/PHPExcel/Writer/Excel2007.php'; // Create an object/instance for the output spreadsheet if (is_null($objPHPExcel)) { $objPHPExcel = new PHPExcel(); } myExcel_setActiveRow($rowStartWrite); // Create new sheet is needed $sheetOk = true; do { try { $objPHPExcel->setActiveSheetIndex($setActiveSheetTo); $sheetOk = true; } catch (Exception $e) { $sheetOk = false; $objPHPExcel->createSheet(); } } while ($sheetOk === false); if (is_null($sheetName)) { $objPHPExcel->getActiveSheet()->setTitle("Sheet {$setActiveSheetTo}"); } else { $objPHPExcel->getActiveSheet()->setTitle($sheetName); } // Set basic properties to output spreadsheet $objPHPExcel->getProperties()->setCreator("Business USA"); $objPHPExcel->getProperties()->setLastModifiedBy("Business USA"); $objPHPExcel->getProperties()->setTitle("Business USA"); $objPHPExcel->getProperties()->setSubject("Business USA"); $objPHPExcel->getProperties()->setDescription("Business USA"); // Debug if (strpos(request_uri(), '-DEBUG-NOEXCELWRITE-REPORTWRITE-') !== false) { ob_end_clean(); } // Write headders if ($writeArrayKeysAsHeader === true) { $headders = array(); foreach ($rows[0] as $key => $cell) { $headders[] = $key; } myExcel_WriteValuesToActiveRow($objPHPExcel, $headders, true); // Set the next row as "active" so the next time myExcel_WriteValuesToActiveRow() is called it will write to the next myExcel_setActiveRow(myExcel_getActiveRow() + 1); } // Write rows foreach ($rows as $row) { // Add a row into the spreadsheet myExcel_WriteValuesToActiveRow($objPHPExcel, $row); // Set the next row as "active" so the next time myExcel_WriteValuesToActiveRow() is called it will write to the next myExcel_setActiveRow(myExcel_getActiveRow() + 1); } // Debug if (strpos(request_uri(), '-DEBUG-NOEXCELWRITE-REPORTWRITE-') !== false) { flush(); exit; } myExcel_decideColumnWidths($objPHPExcel, $rows); return $objPHPExcel; }