I already tested this Merging cells in Excel by row and column together using PHPExcel , but showing it only to add a row, however I applied some tests for the column, but none works.
Although this code successfully creates an excel sheet, the output in excel causes an error.
EDIT
however, this works if you remove llop and put it in simple words -
$objPHPExcel->setActiveSheetIndex(0)->mergeCells('A1:B1');
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Swapnesh');
The main code for adding data is
echo date('H:i:s') , " Add some data" , EOL;
$i = "A";
$j ="B";
for($num =1; $num <= 5; $num++ )
{
$concat = "{$i}1:{$j}1";
$objPHPExcel->setActiveSheetIndex(0)->mergeCells($concat);
$i++;$j++;
}
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Swapnesh');
All my code is
<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />');
date_default_timezone_set('Asia/Calcutta');
require_once 'Classes/PHPExcel.php';
echo date('H:i:s') , " Create new PHPExcel object" , EOL;
$objPHPExcel = new PHPExcel();
echo date('H:i:s') , " Set document properties" , EOL;
$objPHPExcel->
getProperties()->setCreator("Swapnesh Sinha")
->setLastModifiedBy("Swapnesh")
->setTitle("Office 2007 XLSX Test Document")
->setSubject("Office 2007 XLSX Test Document")
->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
->setKeywords("office 2007 openxml php")
->setCategory("Test result file");
echo date('H:i:s') , " Add some data" , EOL;
$i = "A";
$j ="B";
for($num =1; $num <= 5; $num++ )
{
$concat = "{$i}1:{$j}1";
$objPHPExcel->setActiveSheetIndex(0)->mergeCells($concat);
$i++;$j++;
}
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Swapnesh');
echo date('H:i:s') , " Rename worksheet" , EOL;
$objPHPExcel->getActiveSheet()->setTitle('Student Data');
echo date('H:i:s') , " Set document security" , EOL;
$objPHPExcel->getSecurity()->setLockWindows(true);
$objPHPExcel->getSecurity()->setLockStructure(true);
$objPHPExcel->getSecurity()->setWorkbookPassword("PHPExcel");
echo date('H:i:s') , " Set sheet security" , EOL;
$objPHPExcel->getActiveSheet()->getProtection()->setPassword('PHPExcel');
$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true);
$objPHPExcel->getActiveSheet()->getProtection()->setSort(true);
$objPHPExcel->getActiveSheet()->getProtection()->setInsertRows(true);
$objPHPExcel->getActiveSheet()->getProtection()->setFormatCells(true);
$objPHPExcel->setActiveSheetIndex(0);
echo date('H:i:s') , " Write to Excel2007 format" , EOL;
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$filename = "Student-data-sheet".".xlsx";
$objWriter->save($filename);
echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL;
echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL;
echo date('H:i:s') , " Done writing file" , EOL;
echo 'File has been created in ' , getcwd() , EOL;