°

PHPExcel操作Excel的方法

PHP实战视频教程大全

设置当前工作表(sheet)

$phpexcel->setActiveSheetIndex(0);
//参数为工作薄索引,从0开始
//参数为0时,表当第一个工作薄,没的的话会自动创建!

创建一张新的工作表(sheet)

$phpexcel->createSheet();
//默认名称为:Worksheet

设置sheet的名

//操作需要需要首先设置当前工作薄
$phpexcel->getActiveSheet()->setTitle('工作薄名称');

设置单元格的值

$phpexcel->getActiveSheet()->setCellValue('A1', 'String');
$phpexcel->getActiveSheet()->setCellValue('A2', 12);
$phpexcel->getActiveSheet()->setCellValue('A3', true);
$phpexcel->getActiveSheet()->setCellValue('C5', '=SUM(C2:C4)');
$phpexcel->getActiveSheet()->setCellValue('B8','=MIN(B2:C5)');
//Excel中的大部分属性,公式都是可以在这里使用的

合并单元格

$phpexcel->getActiveSheet()->mergeCells('A18:E22');

分离单元格(拆分单元格)

$phpexcel->getActiveSheet()->unmergeCells('A28:B28');

设置格式

// Set cell number formats
$phpexcel->getActiveSheet()->getStyle('E4')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE);
$phpexcel->getActiveSheet()->duplicateStyle( $phpexcel->getActiveSheet()->getStyle('E4'), 'E5:E13' );

其实 PHPExcel_Style_Alignment::HORIZONTAL_RIGHT 这个是PHPExcel自带的一个常量,PHPExcel在设置时,会用到很多的常量,一般都是在PHPExcel目录下的 style目录下中定义的。不需要记忆,用到时,到相应的类中查阅即可。

设置列宽

// Set column widths
$phpexcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);//自动宽度
$phpexcel->getActiveSheet()->getColumnDimension('D')->setWidth(12);

设置行高

$phpexcel->getActiveSheet()->getRowDimension(3)->setRowHeight(100);

设置字体

//设置字体
$phpexcel->getActiveSheet()->getStyle('B1')->getFont()->setName('Candara');
//设置字号
$phpexcel->getActiveSheet()->getStyle('B1')->getFont()->setSize(20);
//加粗
$phpexcel->getActiveSheet()->getStyle('B1')->getFont()->setBold(true);
//设置下划线
$phpexcel->getActiveSheet()->getStyle('B1')->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
//设置字体颜色
$phpexcel->getActiveSheet()->getStyle('B1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);

设置对齐

//水平右对齐
$phpexcel->getActiveSheet()->getStyle('D11')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
//水平左对齐
$phpexcel->getActiveSheet()->getStyle('A18')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
//垂直居中
$phpexcel->getActiveSheet()->getStyle('A18')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

设置单元格的边框

//同样这里也用到了常量,在类库目录Style目录下,有个类文件borders.php,可以参考这里面的相关常进行设置
//设置单元格顶边边框
$phpexcel->getActiveSheet()->getStyle('A4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
//设置全部边框
$phpexcel->getActiveSheet()->getStyle('A1')->getBorders()->getAllBorders()->setBorderStyle(PHPExcel_Style_Border::BORDER_DOUBLE);

设置边框颜色

//设置边框的颜色为红色,这里要注意的是:这里的颜色表示和平时用的有一点区别,不过可以这样来记,把十六进制的颜色前面的 #换成FF即可
$phpexcel->getActiveSheet()->getStyle('A1')->getBorders()->getAllBorders()->getColor()->setARGB('FFFF0000');

设置单元格填充颜色

//填充的类型设置(更多常可以查看类文件)
$phpexcel->getActiveSheet()->getStyle('A1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
//填充的颜色设置
$phpexcel->getActiveSheet()->getStyle('A1')->getFill()->getStartColor()->setARGB('FFFF0000');
//以上两条语句要结合使用

冻结窗口

$objPHPExcel->getActiveSheet()->freezePane('A2')

插入图片

//实例化插入图片类
$draw = new PHPExcel_Worksheet_Drawing();
$draw->setName('Logo');
$draw->setDescription('Logo');
//设置图片路径 切记:只能是本地图片
$draw->setPath('./logo.png');
//设置图片高度
$draw->setHeight(36);
//设置图片要插入的单元格
$draw->setCoordinates($img_k[$j].$i);
//设置图片所在单元格的格式
$draw->setOffsetX(10);
$draw->setOffsetY(10);
$draw->setRotation(0);
$draw->getShadow()->setVisible(true);
$draw->getShadow()->setDirection(50)
$draw->setWorksheet($phpexcel->getActiveSheet());

自动换行

$phpexcel->getActiveSheet()->getStyle('B')->getAlignment()->setWrapText(true);

设置打印 页面 方向与大小

//为横向
 $phpexcel->getActiveSheet()->getPageSetup()->setOrientation(\PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE);
 //设置为A4大小,类文件中有详细的常量说明
 $phpexcel->getActiveSheet()->getPageSetup()->setPaperSize(\PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4);
打赏
  喜欢