php phpexcel 内容靠最右边_PHPExcel的使用小结,不够全面,只是应对当前我用到的地方做了笔记,日后再有新的需求还会随时修改...

namespace app\index\controller;usethink\Controller;usethink\Db;usePHPExcel_IOFactory;usePHPExcel;class User extendsController

{public functionexcel(){$data = Db::name('shop_cart')->where('phone','15555555555')->select();/**

*第一步:实例化PHPExcel类 等同于在桌面上新建一个Excel表格

**/

$objPHPExcel = new PHPExcel();// /**

*第二步:获得当前活动sheet的操作对象

**/

$objSheet = $objPHPExcel->getActiveSheet();// /**

*第三步:给当前活动sheet设置名字

**/

$objSheet->setTitle('worksheet');// /**

*第四步:向单元格内插入内容

**/

$objPHPExcel->getDefaultStyle()->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);//设置默认水平居中

$objPHPExcel->getDefaultStyle()->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);//设置默认垂直居中

$obSheet->getDefaultStyle()->getFont()->setSize(11);//设置默认字体大小

$obSheet->getDefaultRowDimension()->setRowHeight(30);//设置默认高度30

$obSheet->mergeCells("A1:N2");//合并单元格

$obSheet->getStyle('A1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);//设置A1水平右对齐

$obSheet->getStyle('A'.$j)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);//设置A1水平居中

$obSheet->getStyle('A1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);//设置A1水平左对齐

$obSheet->getStyle('A1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);//设置A1垂直居中

$obSheet->getStyle('A1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_TOP);//设置A1垂直靠上

$obSheet->getStyle('A1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_BOTTOM);//应该是bottom吧,这个没用到,网上也没找到,自己也没做测试,哈哈,就先这样吧

$objSheet-> getStyle('A1') -> getFont() -> setSize(14);//设置单元格的字体大小

$objSheet->getStyle("A1")->getFont()->setBold(true); //设置单元格字体为粗体

$objSheet-> getStyle('A4')->getFont()->getColor()->setRGB('ff0000');//设置单元格字体颜色

$objSheet->getStyle('C')->getAlignment()->setWrapText(True);//设置自动换行

$objSheet->getRowDimension('1')->setRowHeight(45);//单独设置一行的高度

$objSheet->getColumnDimension('B')->setWidth(21);//设置单元格宽度

$objSheet->setCellValue("A3","销售合同-附件(产品清单)");//向单元格内添加内容

/**

*向单元格中插入照片

**/

$objDrawing = new \PHPExcel_Worksheet_Drawing();//实例化插入图片类

$objDrawing->setPath('./5d282e5928206.png');//设置图片路径

$objDrawing->setHeight(108);//图片高度

$objDrawing->setWidth(312); //照片宽度

$objDrawing->setCoordinates("A1");//图片插入的位置

$objDrawing->setOffsetX(12);//图片X轴的偏移量

$objDrawing->setOffsetY(12);//图片Y轴的偏移量

$objDrawing->setWorksheet($objSheet);//不知道干啥的,反正不写这一步图片就插不进去

$objSheet->setCellValue("A1","xxxxxxxxxxx\n xxxxxxxxxx");//如果要自己在单元格内打断文字的话加个\n,然后加上下面那句,就能打断文字了

$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setWrapText(true);//设置自动换行,与上面的呼应

/**

*设置表格中的单元格全部带边框

**/

$styleThinBlackBorderOutline = array('borders' => array('allborders' => array( //设置全部边框

'style' => \PHPExcel_Style_Border::BORDER_THIN //粗的是thick

),),);$objPHPExcel->getActiveSheet()->getStyle( 'A1:N21')->applyFromArray($styleThinBlackBorderOutline);/**

*第五步:设置header头,包括设置Excel文件格式,是Excel2005还是Excel2007,文件名等等

**/

ob_end_clean();//清除缓冲区,避免乱码

header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');header('Content-Disposition: attachment;filename="'.date('Y-m-d',time()).'.xlsx"');header('Cache-Control: max-age=0');/**

*第六步:将上面做的表格内容写入到Excel文件中,并设置文件格式

**/

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007');/**

*第七步:使用户下载

*一定记得要写上最后那一句exit,不然导出的文件打开时会提示错误

**/

$objWriter->save('php://output');exit;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值