Skip to content

Instantly share code, notes, and snippets.

@nivv
Last active December 30, 2015 21:19
Show Gist options
  • Save nivv/7886962 to your computer and use it in GitHub Desktop.
Save nivv/7886962 to your computer and use it in GitHub Desktop.
Generate test document with laravel PHPEXCEL
$objPHPExcel = new PHPExcel();
// Set properties
$objPHPExcel->getProperties()->setCreator("Quid");
$objPHPExcel->getProperties()->setLastModifiedBy("Quid");
$objPHPExcel->getProperties()->setTitle("Office 2003 XLS Test Document");
$objPHPExcel->getProperties()->setSubject("Office 2003 XLS Test Document");
$objPHPExcel->getProperties()->setDescription("Test document for Office 2007 XLS, generated using PHP classes.");
// Add some data
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->SetCellValue('A1', 'TableColumn');
$objPHPExcel->getActiveSheet()->SetCellValue('A2', 'FirstName');
$objPHPExcel->getActiveSheet()->SetCellValue('A3', 'LastName');
$objPHPExcel->getActiveSheet()->SetCellValue('A4', 'Email');
$objPHPExcel->getActiveSheet()->SetCellValue('A5', 'CompanyName');
//Bold font
$objRichText = new PHPExcel_RichText();
$objRichText->createText('');
$objPayable = $objRichText->createTextRun('TableColumn');
$objPayable->getFont()->setBold(true);
$objRichText->createText('');
$objPHPExcel->getActiveSheet()->getCell('A1')->setValue($objRichText);
$objPHPExcel->getActiveSheet()->SetCellValue('B1', 'MappingColumn');
$objPHPExcel->getActiveSheet()->SetCellValue('B2', 'FirstName');
$objPHPExcel->getActiveSheet()->SetCellValue('B3', 'LastName');
$objPHPExcel->getActiveSheet()->SetCellValue('B4', 'Email');
$objPHPExcel->getActiveSheet()->SetCellValue('B5', 'CompanyName');
//Bold font
$objRichText = new PHPExcel_RichText();
$objRichText->createText('');
$objPayable = $objRichText->createTextRun('MappingColumn');
$objPayable->getFont()->setBold(true);
$objRichText->createText('');
$objPHPExcel->getActiveSheet()->getCell('B1')->setValue($objRichText);
// Rename sheet
$objPHPExcel->getActiveSheet()->setTitle('Sheet1');
$sheetId = 1;
$objPHPExcel->createSheet(NULL, $sheetId);
$objPHPExcel->setActiveSheetIndex($sheetId);
$objPHPExcel->getActiveSheet()->setTitle('Sheet2');
$objPHPExcel->getActiveSheet()->SetCellValue('A1', 'FirstName');
$objPHPExcel->getActiveSheet()->SetCellValue('B1', 'LastName');
$objPHPExcel->getActiveSheet()->SetCellValue('C1', 'Email');
$objPHPExcel->getActiveSheet()->SetCellValue('D1', 'CompanyName');
//firstname
$objRichText = new PHPExcel_RichText();
$objRichText->createText('');
$objPayable = $objRichText->createTextRun('FirstName');
$objPayable->getFont()->setBold(true);
$objRichText->createText('');
$objPHPExcel->getActiveSheet()->getCell('A1')->setValue($objRichText);
//lastname
$objRichText = new PHPExcel_RichText();
$objRichText->createText('');
$objPayable = $objRichText->createTextRun('LastName');
$objPayable->getFont()->setBold(true);
$objRichText->createText('');
$objPHPExcel->getActiveSheet()->getCell('B1')->setValue($objRichText);
//email
$objRichText = new PHPExcel_RichText();
$objRichText->createText('');
$objPayable = $objRichText->createTextRun('Email');
$objPayable->getFont()->setBold(true);
$objRichText->createText('');
$objPHPExcel->getActiveSheet()->getCell('C1')->setValue($objRichText);
//companyname
$objRichText = new PHPExcel_RichText();
$objRichText->createText('');
$objPayable = $objRichText->createTextRun('CompanyName');
$objPayable->getFont()->setBold(true);
$objRichText->createText('');
$objPHPExcel->getActiveSheet()->getCell('D1')->setValue($objRichText);
$users = User::all();
$count = 2;
foreach($users as $user){
$objPHPExcel->getActiveSheet()->SetCellValue('C'.$count, $user->email);
$count++;
}
$objRichText = new PHPExcel_RichText();
$objRichText->createText('');
$objPayable = $objRichText->createTextRun('FirstName');
$objPayable->getFont()->setBold(true);
$objRichText->createText('');
$objPHPExcel->getActiveSheet()->getCell('A1')->setValue($objRichText);
// Save Excel 2003 file
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save(str_replace('.php', '.xlsx', 'public/uploads/excel/People.xls'));
// Echo done
return '<a href="/uploads/excel/People.xls">aa</a> ';
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment