您好!欢迎来到雅安论坛
关注我们
扫码关注官方微信
手机版
手机扫描直接访问
欢迎: 附近的朋友。
111111

phpexcel 加黑色边框

[复制链接]
本站网友  发表于 2022-3-17 21:11:08 |阅读模式 打印 上一主题 下一主题
  1. $styleThinBlackBorderOutline = array(
  2.         'borders' => array(
  3.             'allborders' => array( //设置全部边框
  4.                 'style' => \PHPExcel_Style_Border::BORDER_THIN //粗的是thick
  5.             ),

  6.         ),
  7.     );
  8.     $objPHPExcel->getActiveSheet()->getStyle( 'A1:K12')->applyFromArray($styleThinBlackBorderOutline);
复制代码
完整实例
  1. <?php
  2. $ym = $_SERVER['DOCUMENT_ROOT'];
  3. include ($ym."/db.php");
  4. //$flid = $_GET['id'];
  5. //接受日期数据
  6. $dates = $_GET['date'];
  7. $zhbh = $_GET['zhbh'];

  8. //用时间戳转换数字日期为年,拆分日期
  9. $n = date("Y",strtotime("$dates"));
  10. //转换为月
  11. $y = date("m",strtotime("$dates"));


  12. $s_n=date('Y', strtotime('-1 month')); //2022
  13. $s_y=date('m', strtotime(date('Y-m-d') ));   //01
  14. $zh = "select * from cxsj_zhsj where zhbh= '$zhbh' ";
  15. $zh_rs = mysqli_query($db,$zh);
  16. $zh_r = mysqli_fetch_assoc($zh_rs);

  17. if (!isset($dates)) {

  18.          $sql = "select * from cxsj_jgjs_files where year(endtime)='$s_n' and month(endtime)='$s_y' and zhbh='$zhbh' order by id asc ";
  19.     $rs = mysqli_query($db,$sql);
  20.     $row=mysqli_fetch_all($rs,MYSQLI_ASSOC);

  21.     $htid = "select * from cxsj_zhsj where zhbh='{$zhbh}' order by id desc limit 1 ";
  22.     $htidrs = mysqli_query($db,$htid);
  23.     $htidrow = mysqli_fetch_assoc($htidrs);

  24. $sql1="SELECT COUNT(*) AS count1 FROM cxsj_jgjs_files where year(endtime)='$s_n' and month(endtime)='$s_y' and zhbh='$zhbh'";
  25. $rs1=mysqli_fetch_array(mysqli_query($db,$sql1));
  26. $count1=$rs1['count1'];

  27.    
  28.          
  29. }else{

  30. $sql = "select * from cb_er_jfqk where year(jtsj)='$n' and month(jtsj)='$y' and zhbh='$zhbh' order by id asc";
  31. $rs = mysqli_query($db,$sql);
  32. $row=mysqli_fetch_all($rs,MYSQLI_ASSOC);

  33.    }

  34. /**  给重要信息屏蔽
  35.      * 添加星号
  36.      * @param string $str 目标字符串
  37.      * @param int $l 左侧留存长度
  38.      * @param int $r 右侧留存长度
  39.      * @param int $chr_len 星号数目
  40.      * @param string $chr 星号或者其他自定义的字符
  41.      * @return mixed 返回
  42.      */

  43. // function gr_asterisk($str = '',$l = 3,$r = 3,$chr_len = 6,$chr = '*'){
  44. //         if(empty($str)){
  45. //             return false;
  46. //         }
  47. //         $len_min = $l + $r;
  48. //         if(mb_strlen($str,'utf-8') <= $len_min){
  49. //             return str_repeat($chr,$chr_len);
  50. //         }

  51. //         $new_str = mb_substr($str,0,$l,'utf-8') . str_repeat($chr,$chr_len) . mb_substr($str,mb_strlen($str,'utf-8') - $r,$r);
  52. //         return $new_str;
  53. //     }

  54. //gr_asterisk('1388888888',3,3,6); 导出方法
  55. // var_dump($row);exit;
  56. //$dir = dirname(__FILE__);//找到当前php文件所在路径
  57. require $ym.'/phpexcel/PHPExcel.php';  //引入类文件




  58. $objPHPExcel = new PHPExcel();//实例化phpexcel,等同于在桌面上新建了一个表格
  59.    
  60.   
  61. $objSheet = $objPHPExcel->getActiveSheet();

  62. //$objSheet->getStyle('A1:L1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setARGB('FFFF0000'); //设置标题背景颜色
  63. $objSheet->getDefaultStyle()->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER)->
  64. setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);  //设置水平垂直居中
  65. $objSheet->getRowDimension('1')->setRowHeight(30); //设置行高
  66. $objSheet->getRowDimension('2')->setRowHeight(25); //设置行高
  67. $objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setBold(true);  //字体加粗
  68. $objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setSize(16);   //设置字体大小

  69. $objPHPExcel->getActiveSheet()->getStyle('A1:L1'); //水平居中                                                  
  70. $objPHPExcel->getActiveSheet()->mergeCells('A1:L1');//合并单元格
  71. $xlsTitle = iconv('utf-8', 'gb2312', $zh_r['sqdw']."IDC机柜结算清单".$s_n.'-'.$s_y);//文件名称
  72. $objPHPExcel->getDefaultStyle()->getFont()->setName('微软雅黑');  // 设置字体
  73. $objPHPExcel->getDefaultStyle()->getFont()->setSize(11);   // 设置字号
  74. $objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(20);#设置单元格行高
  75. $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(8);#设置单元格宽度
  76. $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(8);
  77. $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(7);
  78. $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(10);
  79. $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(10);
  80. $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(10);
  81. $objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(10);
  82. $objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(10);
  83. $objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(10);
  84. $objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(7);
  85. $objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(7);
  86. $objPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth(7);





  87. $objSheet -> setCellValue("A1", $zh_r['sqdw']."IDC机柜结算清单".$s_n.'-'.$s_y);//字体大小;
  88. for ($i=0; $i <=9 ; $i++) {
  89.          

  90. $objSheet = $objPHPExcel -> getActiveSheet();//获得当前sheet的操作对象
  91. $objSheet -> setTitle($zh_r['sqdw']."IDC机柜结算清单".$dates);  //给文件起名字


  92. $objSheet -> setCellValue("A2","楼号")->setCellValue("B2","房间" )->setCellValue("C2","机柜")->setCellValue("D2","上柜时间")->setCellValue("E2","初始计费日期")->setCellValue("F2","本次计费日期")->setCellValue("G2","本次计费截止日期")->setCellValue("H2","计费月数")->setCellValue("I2","机柜千瓦数")->setCellValue("J2","单价")->setCellValue("K2","费用小计")->setCellValue("L2","状态");     

  93. $j = 3;
  94. foreach ($row as $k => $v) {

  95.    $objSheet -> setCellValue("A".$j,$v['lou'])->setCellValue("B".$j,$v['fj'])->setCellValue("C".$j,$v['jg'])->setCellValue("D".$j,$v['sgsj'])->setCellValue("E".$j,$v['jfcs'])->setCellValue("F".$j,$v['bccs'])->setCellValue("G".$j,$v['bcjz'])->setCellValue("H".$j,$v['jfys'])->setCellValue("I".$j,$v['jgkws'])->setCellValue("J".$j,$v['dj'])->setCellValue("K".$j,$v['fyxj'])->setCellValue("L".$j,$v['zt']);

  96.         $j++;
  97. }


  98. }
  99. //黑色边框
  100. $styleThinBlackBorderOutline = array(
  101.         'borders' => array(
  102.             'allborders' => array( //设置全部边框
  103.                 'style' => \PHPExcel_Style_Border::BORDER_THIN //粗的是thick
  104.             ),

  105.         ),
  106.     );
  107.     $objPHPExcel->getActiveSheet()->getStyle( 'A1:L'.$j)->applyFromArray($styleThinBlackBorderOutline);

  108.     //

  109.   //$objSheet->setCellValue('K57', "=SUM(K3:K56)");  //计数原型
  110.   $objSheet->setCellValue('A'.$j, "合计");  //计数原型
  111.   $objSheet->setCellValue('K'.$j, "=SUM(K3:K".($j-1).")");
  112.   $objSheet->setCellValue('D'.$j, $count1);

  113.   $objSheet->setCellValue('A'.($j), "合计")->getRowDimension($j)->setRowHeight(30);
  114.   $objSheet->setCellValue('C'.($j), "机柜数")->getRowDimension($j)->setRowHeight(30);
  115.   $objSheet->setCellValue('J'.($j), "金额")->getRowDimension($j)->setRowHeight(30);

  116.   $objSheet->setCellValue('A'.($j+1), "填报人")->getRowDimension($j+1)->setRowHeight(30);
  117.   $objSheet->setCellValue('C'.($j+1), "填报日期")->getRowDimension($j+1)->setRowHeight(30);
  118.   $objSheet->setCellValue('f'.($j+1), "部门负责人签字")->getRowDimension($j+1)->setRowHeight(30);


  119. ob_end_clean();
  120. ob_start();
  121. // 下载这个表格,在浏览器输出
  122. header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
  123. header('Content-Disposition: attachment;charset=utf-8;filename="'.$xlsTitle.'.xlsx"');

  124. header('Cache-Control: max-age=0');
  125. // If you're serving to IE 9, then the following may be needed
  126. header('Cache-Control: max-age=1');

  127. $wenjian=PHPExcel_IOFactory::createWriter($objPHPExcel,"excel2007");
  128. //$wenjian -> save("../demo.xlsx");
  129. $wenjian->save('php://output'); //到浏览器
  130. // alert('保存成功','../admin/product_list.php?page=1');

  131. ?>
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关注3

粉丝13

帖子2251

发布主题
阅读排行 更多
广告位
欢迎使用无需登录在线留言
姓名 

手机 

内容
关注我们
  • 关注官方微信

  • 论坛QQ群

Sitemap小黑屋Archiver雅安论坛( 已经安全运行 ) |网站地图

在线客服

会员收集的资源(插件源码等),仅方便学习,您需要自行承担版权风险,未获得原作者授权的情况下,请勿将文章公开发布或用于商业用途。

声明:本站内容来自于论坛作者本人的观点,不代表本网站的观点和看法,与本网站立场无关,相关责任作者自负。如有侵权,请联系我们及时删除

高能预警:本站为个人网站,非团队运作,常年务农,山上信号不好,在线少,如有不妥之处,望大佬们多多包涵,万分感激!

雅安论坛互联网违法和不良信息举报平台 您也可以通过留言进行相关问题提交,留言提交无需注册,我们将严格保证用户隐私。   © 2009-2021