セルの境界線の色を設定する方法は?このコードを使用しましたが、機能していません。
_$objPHPExcel->getActiveSheet()
->getStyle('A1')
->getBorders()
->getAllBorders()
->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN)
->getColor()
->setRGB('DDDDDD');
_
applyFromArray()
は正常に動作することを知っています。しかし、私はそれを使いたくありません。
少し遅れましたが、記録のために、この構文がうまく機能することがわかりました。
$ActiveSheet->getStyle("A1:Z1")->applyFromArray(
array(
'borders' => array(
'allborders' => array(
'style' => PHPExcel_Style_Border::BORDER_THIN,
'color' => array('rgb' => 'DDDDDD')
)
)
)
);
また、ここでスタイルと属性の完全なリストを見つけました: http://www.bainweb.com/2012/01/phpexcel-style-reference-complete-list.html
境界線を作成しながら、セルの境界線に色を適用できます。
スタイルを定義する:
$border_style= array('borders' => array('right' => array('style' =>
PHPExcel_Style_Border::BORDER_THICK,'color' => array('argb' => '766f6e'),)));
スタイルを適用します。
$sheet = $objPHPExcel->getActiveSheet();
$sheet->getStyle("A2:A40")->applyFromArray($border_style);
PhpExcelのドキュメントを参照してください こちら
applyFromArray()
なしで境界線を設定するには、次のようにします。
$objPHPExcel->getActiveSheet()
->getStyle('A1')
->getBorders()
->getBottom()
->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet()
->getStyle('A1')
-> getBorders()
->getLeft()
->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet()
->getStyle('A1')
->getBorders()
->getRight()
->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet()
->getStyle('A1')
->getBorders()
->getBottom()
->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
ボーダースタイルリストは
BORDER_NONE - 'none'
BORDER_DASHDOT - 'dashDot'
BORDER_DASHDOTDOT - 'dashDotDot'
BORDER_DASHED - 'dashed'
BORDER_DOTTED - 'dotted'
BORDER_DOUBLE - 'double'
BORDER_HAIR - 'hair'
BORDER_MEDIUM - 'medium'
BORDER_MEDIUMDASHDOT - 'mediumDashDot'
BORDER_MEDIUMDASHDOTDOT - 'mediumDashDotDot'
BORDER_MEDIUMDASHED - 'mediumDashed'
BORDER_SLANTDASHDOT - 'slantDashDot'
BORDER_THICK - 'thick'
BORDER_THIN - 'thin'
詳細 PHPExcel
ワークブック全体(すべてのワークシート)のデフォルトスタイルは、次のように設定できます。
_$objPHPExcel->getDefaultStyle()
->getBorders()
->getTop()
->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getDefaultStyle()
->getBorders()
->getBottom()
->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getDefaultStyle()
->getBorders()
->getLeft()
->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getDefaultStyle()
->getBorders()
->getRight()
->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
_
applyFromArray()
を使用して設定することもできます
_$styleArray = array(
'borders' => array(
'allborders' => array(
'style' => PHPExcel_Style_Border::BORDER_THIN
)
)
);
$objPHPExcel->getDefaultStyle()->applyFromArray($styleArray);
_
Webサイトがダウンしているため、PHPExcelスタイルの完全なリストを以下に示します。
/ * PHPExcel Object * /
/* Get the default Style object */
(PHPExcel_Style) $style = ((PHPExcel) $Excel)->getDefaultStyle()
/ * PHPExcel_Cellオブジェクト* /
/* Get the Style object for a Cell */
(PHPExcel_Style) $style = ((PHPExcel) $Excel)->getStyle('A1')
/ *スタイル* /
/* Apply new Style from array */
$style->applyFromArray(
array(
'alignment' => array(
'horizontal' =>
PHPExcel_Style_Alignment::HORIZONTAL_GENERAL = 'general'
PHPExcel_Style_Alignment::HORIZONTAL_LEFT = 'left'
PHPExcel_Style_Alignment::HORIZONTAL_RIGHT = 'right'
PHPExcel_Style_Alignment::HORIZONTAL_CENTER = 'center'
PHPExcel_Style_Alignment::HORIZONTAL_CENTER_CONTINUOUS = 'centerContinuous'
PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY = 'justify'
'vertical' =>
PHPExcel_Style_Alignment::VERTICAL_BOTTOM = 'bottom'
PHPExcel_Style_Alignment::VERTICAL_TOP = 'top'
PHPExcel_Style_Alignment::VERTICAL_CENTER = 'center'
PHPExcel_Style_Alignment::VERTICAL_JUSTIFY = 'justify'
'rotation' => (int)
'wrap' => (boolean)
'shrinkToFit' => (boolean)
'indent' => (int)
)
'borders' => array(
'allborders' => array(
'style' =>
PHPExcel_Style_Border::BORDER_NONE = 'none';
PHPExcel_Style_Border::BORDER_DASHDOT = 'dashDot';
PHPExcel_Style_Border::BORDER_DASHDOTDOT = 'dashDotDot';
PHPExcel_Style_Border::BORDER_DASHED = 'dashed';
PHPExcel_Style_Border::BORDER_DOTTED = 'dotted';
PHPExcel_Style_Border::BORDER_DOUBLE = 'double';
PHPExcel_Style_Border::BORDER_HAIR = 'hair';
PHPExcel_Style_Border::BORDER_MEDIUM = 'medium';
PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT = 'mediumDashDot';
PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT = 'mediumDashDotDot';
PHPExcel_Style_Border::BORDER_MEDIUMDASHED = 'mediumDashed';
PHPExcel_Style_Border::BORDER_SLANTDASHDOT = 'slantDashDot';
PHPExcel_Style_Border::BORDER_THICK = 'thick';
PHPExcel_Style_Border::BORDER_THIN = 'thin';
'color' => array(
'rgb' =>
PHPExcel_Style_Color::COLOR_BLACK = 'FF000000';
PHPExcel_Style_Color::COLOR_WHITE = 'FFFFFFFF';
PHPExcel_Style_Color::COLOR_RED = 'FFFF0000';
PHPExcel_Style_Color::COLOR_DARKRED = 'FF800000';
PHPExcel_Style_Color::COLOR_BLUE = 'FF0000FF';
PHPExcel_Style_Color::COLOR_DARKBLUE = 'FF000080';
PHPExcel_Style_Color::COLOR_GREEN = 'FF00FF00';
PHPExcel_Style_Color::COLOR_DARKGREEN = 'FF008000';
PHPExcel_Style_Color::COLOR_YELLOW = 'FFFFFF00';
PHPExcel_Style_Color::COLOR_DARKYELLOW = 'FF808000';
)
)
'left' => // See 'allborders'
'top' => // See 'allborders'
'right' => // See 'allborders'
'bottom' => // See 'allborders'
'diagonal' =>
'diagonaldirection' =>
)
'fill' => array(
'type' =>
PHPExcel_Style_Fill::FILL_NONE = 'none';
PHPExcel_Style_Fill::FILL_SOLID = 'solid';
PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR = 'linear';
PHPExcel_Style_Fill::FILL_GRADIENT_PATH = 'path';
PHPExcel_Style_Fill::FILL_PATTERN_DARKDOWN = 'darkDown';
PHPExcel_Style_Fill::FILL_PATTERN_DARKGRAY = 'darkGray';
PHPExcel_Style_Fill::FILL_PATTERN_DARKGRID = 'darkGrid';
PHPExcel_Style_Fill::FILL_PATTERN_DARKHORIZONTAL = 'darkHorizontal';
PHPExcel_Style_Fill::FILL_PATTERN_DARKTRELLIS = 'darkTrellis';
PHPExcel_Style_Fill::FILL_PATTERN_DARKUP = 'darkUp';
PHPExcel_Style_Fill::FILL_PATTERN_DARKVERTICAL = 'darkVertical';
PHPExcel_Style_Fill::FILL_PATTERN_GRAY0625 = 'gray0625';
PHPExcel_Style_Fill::FILL_PATTERN_GRAY125 = 'gray125';
PHPExcel_Style_Fill::FILL_PATTERN_LIGHTDOWN = 'lightDown';
PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRAY = 'lightGray';
PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRID = 'lightGrid';
PHPExcel_Style_Fill::FILL_PATTERN_LIGHTHORIZONTAL = 'lightHorizontal';
PHPExcel_Style_Fill::FILL_PATTERN_LIGHTTRELLIS = 'lightTrellis';
PHPExcel_Style_Fill::FILL_PATTERN_LIGHTUP = 'lightUp';
PHPExcel_Style_Fill::FILL_PATTERN_LIGHTVERTICAL = 'lightVertical';
PHPExcel_Style_Fill::FILL_PATTERN_MEDIUMGRAY = 'mediumGray';
'rotation' => (double)
'startcolor' => // See 'borders' => 'allborders' => 'color'
'endcolor' => // See 'borders' => 'allborders' => 'color'
'color' => // See 'borders' => 'allborders' => 'color'
)
'font' => array(
'name' =>
'Arial'
'Calibri'
// etc.
'bold' => (boolean)
'italic' => (boolean)
'superScript' => (boolean)
'subScript' => (boolean)
'underline' => (boolean)
'strike' => (boolean)
'size' => (float)
'color' => // See 'borders' => 'allborders' => 'color'
)
'numberformat' =>
'protection' =>
)
)