2016-11-18 5 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

関連する問題