眾所周知,Excel 是辦公人員常用的工具之一,而 PHPExcel 則是一個常用的 PHP 解決方案庫,具有寫入 Excel、讀取 Excel、生成圖表等功能。在 PHPExcel 中,居中是一個非常常見的操作,本文將為大家詳細介紹使用 PHPExcel 實現 Excel 居中的方法。
基本居中方式
在 PHPExcel 中,居中分為水平與垂直兩個方向進行,下面分別介紹。
水平居中
在 Excel 中,使單元格內的內容水平居中,需要通過設置單元格的樣式達到目的。在 PHPExcel 中,可以使用下面的代碼實現:
$style = array( 'alignment' =>array( 'horizontal' =>PHPExcel_Style_Alignment::HORIZONTAL_CENTER, ) ); $objPHPExcel->getActiveSheet()->getStyle('A1')->applyFromArray($style);
上面的代碼中,我們將居中樣式加入到了 A1 單元格中,通過 applyFromArray() 方法將樣式應用到了單元格中。在樣式中,我們設置了水平方向的居中方式為PHPExcel_Style_Alignment::HORIZONTAL_CENTER
,表示將單元格內部的內容水平居中。
垂直居中
在 Excel 中,使單元格內的內容垂直居中,同樣需要通過設置單元格的樣式來實現。在 PHPExcel 中,可以使用下面的代碼實現:
$style = array( 'alignment' =>array( 'vertical' =>PHPExcel_Style_Alignment::VERTICAL_CENTER, ) ); $objPHPExcel->getActiveSheet()->getStyle('A1')->applyFromArray($style);
上面的代碼中,我們同樣將居中樣式加入到了 A1 單元格中,通過 applyFromArray() 方法將樣式應用到了單元格中。在樣式中,我們設置了垂直方向的居中方式為PHPExcel_Style_Alignment::VERTICAL_CENTER
,表示將單元格內部的內容垂直居中。
深度定制
除了基本的水平和垂直居中方式外,有時候我們還需要實現更加個性化的效果,其中包括同時實現水平和垂直居中、跨越多行多列的居中等。
同時實現水平和垂直居中
有時候,我們需要同時將單元格內的內容水平和垂直居中,這時我們可以通過設置水平方式和垂直方式的值來實現,下面是示例代碼:
$style = array( 'alignment' =>array( 'horizontal' =>PHPExcel_Style_Alignment::HORIZONTAL_CENTER, 'vertical' =>PHPExcel_Style_Alignment::VERTICAL_CENTER, ) ); $objPHPExcel->getActiveSheet()->getStyle('A1')->applyFromArray($style);
上面的代碼中,我們通過樣式的數組將居中樣式同時設置到了 A1 單元格中,達到了同時居中的效果。
跨越多行多列的居中
在 Excel 中,有的時候我們需要將一個跨越多行或多列的單元格內的內容進行居中,這時,我們可以通過設置樣式的對象來實現,下面是示例代碼:
$style = array( 'alignment' =>array( 'horizontal' =>PHPExcel_Style_Alignment::HORIZONTAL_CENTER, 'vertical' =>PHPExcel_Style_Alignment::VERTICAL_CENTER, ) ); $objPHPExcel->getActiveSheet()->mergeCells('A1:B2'); $objPHPExcel->getActiveSheet()->getStyle('A1:B2')->applyFromArray($style);
在上面的代碼中,我們通過mergeCells()
方法將 A1 到 B2 范圍內的單元格合并為一個單元格,然后通過getStyle()
方法獲取到我們希望應用樣式的單元格,并向其中應用樣式即可。
總結
在實際的開發中,居中是一個相對比較常見的功能,利用 PHPExcel 實現 Excel 居中,可以大大提高工作效率。在本篇文章中,我們介紹了基本的居中方式、深度定制的居中方式,并且使用了一些示例代碼來幫助大家更好地理解。希望大家掌握了這些方法之后,能夠更加高效地完成實際工作中的需求。