2016-11-18 2 views
0

Как установить все стили/опции ячеек из функции?phpexcel: Установить стиль из функции

Этот код не работает для меня:

function setStyleTest() { 
    global $objPHPExcel, $cell; 
    $objPHPExcel->setActiveSheetIndex(0)->getStyle($cell)->getFont()->setSize(10); 
    $objPHPExcel->setActiveSheetIndex(0)->getStyle($cell)->getAlignment()->setWrapText(true); 
} 

$cell = "A1"; 
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($cell, 'Some content'); 

setStyleTest(); 

Но это работает:

$cell = "A1"; 
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($cell, 'Some content'); 
$objPHPExcel->setActiveSheetIndex(0)->getStyle($cell)->getFont()->setSize(10); 
$objPHPExcel->setActiveSheetIndex(0)->getStyle($cell)->getAlignment()->setWrapText(true); 

И да, я не знаю много о классах =) Спасибо!

ответ

0

Оба из примеров кода работают, проблема связана с переменной $ cell. Это должна быть строка, соответствующая ячейке в электронной таблице. Например, чтобы получить доступ к ячейке A1, изменение $ ячейки следующим образом:

$cell = "A1"; 

Как она стоит вашей функции setStyleTest() всегда будет установлено тот же статической клетке каждый раз, для того, чтобы использовать его динамически Порекомендую:

$cell = "A1"; 
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($cell, 'Some content'); 
$objPHPExcel->setActiveSheetIndex(0)->getStyle($cell)->getFont()->setSize(10); 
$objPHPExcel->setActiveSheetIndex(0)->getStyle($cell)->getAlignment()->setWrapText(true); 

function setStyleTest($incomingCell) { 
    global $objPHPExcel; 
    $objPHPExcel->setActiveSheetIndex(0)->getStyle($incomingCell)->getFont()->setSize(10); 
    $objPHPExcel->setActiveSheetIndex(0)->getStyle($incomingCell)->getAlignment()->setWrapText(true); 
    //I added BOLD to make this easier to see the difference 
    $objPHPExcel->getActiveSheet()->getStyle($incomingCell)->getFont()->setBold(true); 
} 

$cell2 = "B1"; 
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($cell2, 'Some content2'); 

setStyleTest($cell2); 
+0

Я пропустил, чтобы сказать, что 'cellNavigation()' возвращает нужную строку. Это старый проект, который я бы хотел улучшить. Также строка ячейки прибыла в 'setStyleTest()'. Проблема должна быть где-то в другом месте. Я обновлю версию phpexcel – Xairoo

Смежные вопросы