Here is my code what I did it ...but the scenario here is little different, here the input is the excel file whereas the output is array of array in 'key' => 'value' pairs (as in your case it is vice versa) which is not much of a solution but though it might help you get going.
<?php
include './PHPExcel/IOFactory.php';
$objPHPExcel = PHPExcel_IOFactory::load('campaign.xlsx');
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
$highestColumn = $worksheet->getHighestDataColumn();
//Getting highest column with data
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
//Getting highest row with data
$highestRow = $worksheet->getHighestRow();
$header = [];
//For saving all heading from Excel file.
for( $i = 0 ; $i <= $highestColumnIndex ; $i++)
{
$cell = $worksheet->getCellByColumnAndRow($i,1);
$val = $cell->getValue();
$header[] = $val;
}
$completeArray = [];
$value = [];
//For saving header and value pairs in a array
for ($row = 2; $row <= $highestRow; ++ $row) {
for ($col = 0; $col < $highestColumnIndex; ++ $col) {
$cell = $worksheet->getCellByColumnAndRow($col, $row);
$val = $cell->getValue();
$value[$header[$col]] = $val;
}
//Inserting that array...
$completeArray[] = $value;
}
}
echo '<pre>';
print_r($completeArray);
echo '</pre>';
So,in your case instead of using all get methods such as getCellByColumnAndRow as in my example you can use
setCellValueByColumnAndRow($column, $row, $value);
You can make help of this resources also
Tutorial here
CheatSheet here