1. include 'PHPExcel.php';
  2. include 'PHPExcel/Writer/Excel2007.php';
  3. //或者include 'PHPExcel/Writer/Excel5.php'; 用于输出.xls的
  4. 创建一个excel
  5. $objPHPExcel = new PHPExcel();
  6. 保存excel2007格式
  7. $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
  8. //或者$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); 非2007格式
  9. $objWriter->save("xxx.xlsx");
  10. 直接输出到浏览器
  11. $objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);
  12. header("Pragma: public");
  13. header("Expires: 0″);
  14. header("Cache-Control:must-revalidate, post-check=0, pre-check=0″);
  15. header("Content-Type:application/force-download");
  16. header("Content-Type:application/vnd.ms-execl");
  17. header("Content-Type:application/octet-stream");
  18. header("Content-Type:application/download");;
  19. header('Content-Disposition:attachment;filename="resume.xls"');
  20. header("Content-Transfer-Encoding:binary");
  21. $objWriter->save('php://output');
  22. ——————————————————————————————————————–
  23. 设置excel的属性:
  24. 创建人
  25. $objPHPExcel->getProperties()->setCreator("Maarten Balliauw");
  26. 最后修改人
  27. $objPHPExcel->getProperties()->setLastModifiedBy("Maarten Balliauw");
  28. 标题
  29. $objPHPExcel->getProperties()->setTitle("Office 2007 XLSX Test Document");
  30. 题目
  31. $objPHPExcel->getProperties()->setSubject("Office 2007 XLSX Test Document");
  32. 描述
  33. $objPHPExcel->getProperties()->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.");
  34. 关键字
  35. $objPHPExcel->getProperties()->setKeywords("office 2007 openxml php");
  36. 种类
  37. $objPHPExcel->getProperties()->setCategory("Test result file");
  38. ——————————————————————————————————————–
  39. 设置当前的sheet
  40. $objPHPExcel->setActiveSheetIndex(0);
  41. 设置sheetname
  42. $objPHPExcel->getActiveSheet()->setTitle('Simple');
  43. 设置单元格的值
  44. $objPHPExcel->getActiveSheet()->setCellValue('A1', 'String');
  45. $objPHPExcel->getActiveSheet()->setCellValue('A2', 12);
  46. $objPHPExcel->getActiveSheet()->setCellValue('A3', true);
  47. $objPHPExcel->getActiveSheet()->setCellValue('C5', '=SUM(C2:C4)');
  48. $objPHPExcel->getActiveSheet()->setCellValue('B8', '=MIN(B2:C5)');
  49. 合并单元格
  50. $objPHPExcel->getActiveSheet()->mergeCells('A18:E22');
  51. 分离单元格
  52. $objPHPExcel->getActiveSheet()->unmergeCells('A28:B28');
  53.  
  54. 保护cell
  55. $objPHPExcel->getActiveSheet()->getProtection()->setSheet(true); // Needs to be set to true in order to enable any worksheet protection!
  56. $objPHPExcel->getActiveSheet()->protectCells('A3:E13', 'PHPExcel');
  57. 设置格式
  58. // Set cell number formats
  59. echo date('H:i:s') . " Set cell number formats\n";
  60. $objPHPExcel->getActiveSheet()->getStyle('E4')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE);
  61. $objPHPExcel->getActiveSheet()->duplicateStyle( $objPHPExcel->getActiveSheet()->getStyle('E4'), 'E5:E13' );
  62. 设置宽width
  63. // Set column widths
  64. $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);
  65. $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(12);
  66. 设置font
  67. $objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setName('Candara');
  68. $objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setSize(20);
  69. $objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setBold(true);
  70. $objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
  71. $objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);
  72. $objPHPExcel->getActiveSheet()->getStyle('E1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);
  73. $objPHPExcel->getActiveSheet()->getStyle('D13')->getFont()->setBold(true);
  74. $objPHPExcel->getActiveSheet()->getStyle('E13')->getFont()->setBold(true);
  75. 设置align
  76. $objPHPExcel->getActiveSheet()->getStyle('D11')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
  77. $objPHPExcel->getActiveSheet()->getStyle('D12')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
  78. $objPHPExcel->getActiveSheet()->getStyle('D13')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
  79. $objPHPExcel->getActiveSheet()->getStyle('A18')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY);
  80. //垂直居中
  81. $objPHPExcel->getActiveSheet()->getStyle('A18')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
  82. 设置columnborder
  83. $objPHPExcel->getActiveSheet()->getStyle('A4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
  84. $objPHPExcel->getActiveSheet()->getStyle('B4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
  85. $objPHPExcel->getActiveSheet()->getStyle('C4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
  86. $objPHPExcel->getActiveSheet()->getStyle('D4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
  87. $objPHPExcel->getActiveSheet()->getStyle('E4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
  88. 设置bordercolor
  89. $objPHPExcel->getActiveSheet()->getStyle('D13')->getBorders()->getLeft()->getColor()->setARGB('FF993300');
  90. $objPHPExcel->getActiveSheet()->getStyle('D13')->getBorders()->getTop()->getColor()->setARGB('FF993300');
  91. $objPHPExcel->getActiveSheet()->getStyle('D13')->getBorders()->getBottom()->getColor()->setARGB('FF993300');
  92. $objPHPExcel->getActiveSheet()->getStyle('E13')->getBorders()->getTop()->getColor()->setARGB('FF993300');
  93. $objPHPExcel->getActiveSheet()->getStyle('E13')->getBorders()->getBottom()->getColor()->setARGB('FF993300');
  94. $objPHPExcel->getActiveSheet()->getStyle('E13')->getBorders()->getRight()->getColor()->setARGB('FF993300');
  95. 设置填充颜色
  96. $objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
  97. $objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->getStartColor()->setARGB('FF808080');
  98. $objPHPExcel->getActiveSheet()->getStyle('B1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
  99. $objPHPExcel->getActiveSheet()->getStyle('B1')->getFill()->getStartColor()->setARGB('FF808080');
  100. 加图片
  101. $objDrawing = new PHPExcel_Worksheet_Drawing();
  102. $objDrawing->setName('Logo');
  103. $objDrawing->setDescription('Logo');
  104. $objDrawing->setPath('./images/officelogo.jpg');
  105. $objDrawing->setHeight(36);
  106. $objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
  107. $objDrawing = new PHPExcel_Worksheet_Drawing();
  108. $objDrawing->setName('Paid');
  109. $objDrawing->setDescription('Paid');
  110. $objDrawing->setPath('./images/paid.png');
  111. $objDrawing->setCoordinates('B15');
  112. $objDrawing->setOffsetX(110);
  113. $objDrawing->setRotation(25);
  114. $objDrawing->getShadow()->setVisible(true);
  115. $objDrawing->getShadow()->setDirection(45);
  116. $objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
  117. //处理中文输出问题
  118. 需要将字符串转化为UTF-8编码,才能正常输出,否则中文字符将输出为空白,如下处理:
  119. $str = iconv('gb2312', 'utf-8', $str);
  120. 或者你可以写一个函数专门处理中文字符串:
  121. function convertUTF8($str)
  122. {
  123. if(empty($str)) return '';
  124. return iconv('gb2312', 'utf-8', $str);
  125. }
  126. //从数据库输出数据处理方式
  127. 从数据库读取数据如:
  128. $db = new Mysql($dbconfig);
  129. $sql = "SELECT * FROM 表名";
  130. $row = $db->GetAll($sql); // $row 为二维数组
  131. $count = count($row);
  132. for ($i = 2; $i <= $count+1; $i++) {
  133. $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, convertUTF8($row[$i-2][1]));
  134. $objPHPExcel->getActiveSheet()->setCellValue('B' . $i, convertUTF8($row[$i-2][2]));
  135. $objPHPExcel->getActiveSheet()->setCellValue('C' . $i, convertUTF8($row[$i-2][3]));
  136. $objPHPExcel->getActiveSheet()->setCellValue('D' . $i, convertUTF8($row[$i-2][4]));
  137. $objPHPExcel->getActiveSheet()->setCellValue('E' . $i, convertUTF8(date("Y-m-d", $row[$i-2][5])));
  138. $objPHPExcel->getActiveSheet()->setCellValue('F' . $i, convertUTF8($row[$i-2][6]));
  139. $objPHPExcel->getActiveSheet()->setCellValue('G' . $i, convertUTF8($row[$i-2][7]));
  140. $objPHPExcel->getActiveSheet()->setCellValue('H' . $i, convertUTF8($row[$i-2][8]));
  141. }
  142.  
  143. 在默认sheet后,创建一个worksheet
  144. echo date('H:i:s') . " Create new Worksheet object\n";
  145. $objPHPExcel->createSheet();
  146. $objWriter = PHPExcel_IOFactory::createWriter($objExcel, 'Excel5');
  147. $objWriter-save('php://output');

  

phpExcel使用方法一的更多相关文章

  1. Spring Framework------>version4.3.5.RELAESE----->Reference Documentation学习心得----->使用spring framework的IoC容器功能----->方法一:使用XML文件定义beans之间的依赖注入关系

    XML-based configuration metadata(使用XML文件定义beans之间的依赖注入关系) 第一部分 编程思路概述 step1,在XML文件中定义各个bean之间的依赖关系. ...

  2. JBOSS通过Apache负载均衡方法一:使用mod_jk

    JBOSS通过Apache负载均衡方法一:使用mod_jk   本文第一.二节分别对Linux环境下前端使用Apache以及windows环境下前端使用IIS通过AJP协议和后端的JBOSS通信实现负 ...

  3. centos6.5下oracle11g开机自动启动方法一

    转裁于 方法一 https://blog.csdn.net/wx5040257/article/details/77875690 方法二  https://blog.csdn.net/wx504025 ...

  4. mybatis由浅入深day02_2一对一查询_2.2方法一:resultType

    2 一对一查询 2.1 需求(查询所有订单信息,关联查询创建订单的用户信息) 查询所有订单信息,关联查询创建订单的用户信息 注意:因为一个订单信息只会是一个人下的订单,所以从查询订单信息出发关联查询用 ...

  5. 头像文件上传 方法一:from表单 方法二:ajax

    方法一:from表单 html 设置form表单,内包含头像预览div,内包含上传文件input 设置iframe用来调用函数传参路径 <!--表单提交成功后不跳转处理页面,而是将处理数据返回给 ...

  6. vue抽取公共方法———方法一

    方法一:Vue插件 1.概述 作用:满足vue之外的需求,特定场景的需求 比如说,让你在每个单页面组件里,都可以调用某个方法(公共方法),或者共享某个变量等 2.使用方法 [声明插件]- [写插件]- ...

  7. 登录操作(方法一:设置flag标志位)

    登录操作(方法一:设置flag标志位) user_name="star"passwoed='123'passed_authentication=Falsecount=0for i ...

  8. JS数组 二维数组 二维数组的表示 方法一: myarray[ ][ ];方法二:var Myarr = [[0 , 1 , 2 ],[1 , 2 , 3, ]]

    二维数组 一维数组,我们看成一组盒子,每个盒子只能放一个内容. 一维数组的表示: myarray[ ] 二维数组,我们看成一组盒子,不过每个盒子里还可以放多个盒子. 二维数组的表示: myarray[ ...

  9. qt5集成libcurl实现tftp和ftp的方法一:搭建环境(五篇文章)

    最近使用QT5做一个软件,要求实现tftp和ftp文件传输,使用QT5开发好UI界面等功能,突然发现QT5不直接提供tftp和ftp支持,无奈之下只好找第三方库来间接实现,根据网友的介绍,libcur ...

随机推荐

  1. 简单记录下HTTPS中的SSL

    大概思路 大概思路是混合加密的方式,即对称加密方式混合非对称加密方式. 非对称加密会更加安全,功能也更强大,但他复杂而且速度慢. 对称加密速度快,但要保证这个公共密钥的正确性和真实性. 所以两者结合, ...

  2. ios 绘制虚线 CGContextSetLineDash的使用

    画虚线需要用到函数: CGContextSetLineDash 此函数需要四个参数: context – 这个不用多说 phase - 稍后再说 lengths – 指明虚线是如何交替绘制,具体看例子 ...

  3. 多线程----Thread类,Runnable接口,线程池,Callable接口,线程安全

    1概念 1.1进程 进程指正在运行的程序.确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能. 任务管理器中: 1.2线程 线程是进程中的一个执行单元 ...

  4. 【转】Java Cipher类 DES算法(加密与解密)

    Java Cipher类 DES算法(加密与解密) 1.加密解密类 import java.security.*; import javax.crypto.*; import java.io.*; / ...

  5. Windows计算机重置TCP / IP

    传输控制协议 (TCP / IP)是Internet上使用的通信协议. 在Windows的早期版本中,TCP / IP是一个单独的可选组件,可以像其他任何协议一样删除或添加. 早期版本中,从Windo ...

  6. 在一个另一个文件中 #include一个**dlg.h文件,会发生dlg的资源ID未定义的错误 :

    1    在一个另一个文件中 #include一个**dlg.h文件,会发生dlg的资源ID未定义的错误 : dlg1.h(23) : error C2065: 'IDD_DIALOG1' : und ...

  7. vue中的修饰符

    Vue2.0学习笔记:Vue事件修饰符的使用   事件处理 如果需要在内联语句处理器中访问原生DOM事件.可以使用特殊变量$event,把它传入到methods中的方法中. 在Vue中,事件修饰符处理 ...

  8. BCB:使用CppWebBrowser判断网页加载完成

    void __fastcall TForm1::CppWebBrowser1DocumentComplete(TObject *Sender, LPDISPATCH pDisp, Variant *U ...

  9. RuntimeError: cryptography is required for sha256_password or caching_sha2_p

    报错原因:mysql版本身份验证出现问题引起的 我这里报错的地方是在Django里,pycharm连接数据库时出现的 解决办法,安装安装cryptography即可:pip install crypt ...

  10. 课外作业1:将一个double类型的小数,按照四舍五入保留两位小数

    package come.one01; public class One02 { public static void main(String[] args) { double numa = 3.14 ...