1. 首先到phpexcel官网上下载最新的phpexcel类,下周解压缩一个classes文件夹,里面包含了PHPExcel.php和PHPExcel的文件夹,这个类文件和文件夹是我们需要的,把classes解压到你项目的一个目录中,重名名为phpexcel,开始喽,(代码都摘自自带实例)
  2. 程序部分
  3. require_once './phpexcel/PHPExcel.php';
  4. // 首先创建一个新的对象  PHPExcel object
  5. $objPHPExcel = new PHPExcel();
  6. // 设置文件的一些属性,在xls文件——>属性——>详细信息里可以看到这些值,xml表格里是没有这些值的
  7. $objPHPExcel
  8. ->getProperties()  //获得文件属性对象,给下文提供设置资源
  9. ->setCreator( "Maarten Balliauw")                 //设置文件的创建者
  10. ->setLastModifiedBy( "Maarten Balliauw")          //设置最后修改者
  11. ->setTitle( "Office 2007 XLSX Test Document" )    //设置标题
  12. ->setSubject( "Office 2007 XLSX Test Document" )  //设置主题
  13. ->setDescription( "Test document for Office 2007 XLSX, generated using PHP classes.") //设置备注
  14. ->setKeywords( "office 2007 openxml php")        //设置标记
  15. ->setCategory( "Test result file");                //设置类别
  16. // 位置aaa  *为下文代码位置提供锚
  17. // 给表格添加数据
  18. $objPHPExcel->setActiveSheetIndex(0)             //设置第一个内置表(一个xls文件里可以有多个表)为活动的
  19. ->setCellValue( 'A1', 'Hello' )         //给表的单元格设置数据
  20. ->setCellValue( 'B2', 'world!' )      //数据格式可以为字符串
  21. ->setCellValue( 'C1', 12)            //数字型
  22. ->setCellValue( 'D2', 12)            //
  23. ->setCellValue( 'D3', true )           //布尔型
  24. ->setCellValue( 'D4', '=SUM(C1:D2)' );//公式
  25. //得到当前活动的表,注意下文教程中会经常用到$objActSheet
  26. $objActSheet = $objPHPExcel->getActiveSheet();
  27. // 位置bbb  *为下文代码位置提供锚
  28. // 给当前活动的表设置名称
  29. $objActSheet->setTitle('Simple2222');
  30. 代码还没有结束,可以复制下面的代码来决定我们将要做什么
  31. 我们将要做的是
  32. 1,直接生成一个文件
  33. $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
  34. $objWriter->save('myexchel.xlsx');
  35. 2、提示下载文件
  36. excel 2003 .xls
  37. // 生成2003excel格式的xls文件
  38. header('Content-Type: application/vnd.ms-excel');
  39. header('Content-Disposition: attachment;filename="01simple.xls"');
  40. header('Cache-Control: max-age=0');
  41. $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
  42. $objWriter->save('php://output');
  43. exit;
  44. excel 2007 .xlsx
  45. // 生成2007excel格式的xlsx文件
  46. header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
  47. header('Content-Disposition: attachment;filename="01simple.xlsx"');
  48. header('Cache-Control: max-age=0');
  49. $objWriter = PHPExcel_IOFactory:: createWriter($objPHPExcel, 'Excel2007');
  50. $objWriter->save( 'php://output');
  51. exit;
  52. pdf 文件
  53. // 下载一个pdf文件
  54. header('Content-Type: application/pdf');
  55. header('Content-Disposition: attachment;filename="01simple.pdf"');
  56. header('Cache-Control: max-age=0');
  57. $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF');
  58. $objWriter->save('php://output');
  59. exit;
  60. // 生成一个pdf文件
  61. $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF');
  62. $objWriter->save('a.pdf');
  63. CSV 文件
  64. $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'CSV')->setDelimiter(',' )  //设置分隔符
  65. ->setEnclosure('"' )    //设置包围符
  66. ->setLineEnding("\r\n" )//设置行分隔符
  67. ->setSheetIndex(0)      //设置活动表
  68. ->save(str_replace('.php' , '.csv' , __FILE__));
  69. HTML 文件
  70. $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'HTML');       //将$objPHPEcel对象转换成html格式的
  71. $objWriter->setSheetIndex(0);  //设置活动表
  72. //$objWriter->setImagesRoot('http://www.example.com');
  73. $objWriter->save(str_replace('.php', '.htm', __FILE__));     //保存文件
  74. 设置表格样式和数据格式
  75. 设置默认的字体和文字大小     锚:aaa
  76. $objPHPExcel->getDefaultStyle()->getFont()->setName( 'Arial');
  77. $objPHPExcel->getDefaultStyle()->getFont()->setSize(20);
  78. 日期格式      锚:bbb
  79. //获得秒值变量
  80. $dateTimeNow = time();
  81. //三个表格分别设置为当前实际的 日期格式、时间格式、日期和时间格式
  82. //首先将单元格的值设置为由PHPExcel_Shared_Date::PHPToExcel方法转换后的excel格式的值,然后用过得到该单元格的样式里面数字样式再设置显示格式
  83. $objActSheet->setCellValue( 'C9', PHPExcel_Shared_Date::PHPToExcel( $dateTimeNow ));
  84. $objActSheet->getStyle( 'C9')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD2);
  85. $objActSheet->setCellValue( 'C10', PHPExcel_Shared_Date::PHPToExcel( $dateTimeNow ));
  86. $objActSheet->getStyle( 'C10')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME4);
  87. $objActSheet->setCellValue( 'C10', PHPExcel_Shared_Date::PHPToExcel( $dateTimeNow ));
  88. $objActSheet->getStyle( 'C10')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME4);
  89. //将E4到E13的数字格式设置为EUR
  90. $objPHPExcel->getActiveSheet()->getStyle( 'E4:E13')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE);
  91. 设置列的宽度      锚:bbb
  92. $objActSheet->getColumnDimension( 'B')->setAutoSize(true);   //内容自适应
  93. $objActSheet->getColumnDimension( 'A')->setWidth(30);         //30宽
  94. 设置文件打印的页眉和页脚      锚:bbb
  95. //设置打印时候的页眉页脚(设置完了以后可以通过打印预览来看效果)字符串中的&*好像是一些变量
  96. $objActSheet->getHeaderFooter()->setOddHeader( '&L&G&C&HPlease treat this document as confidential!');
  97. $objActSheet->getHeaderFooter()->setOddFooter( '&L&B' . $objPHPExcel->getProperties()->getTitle() . '&RPage &P of &N' );
  98. 设置页面文字的方向和页面大小    锚:bbb
  99. $objPHPExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup:: ORIENTATION_LANDSCAPE);
  100. $objPHPExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup:: PAPERSIZE_A4);     //A4纸大小
  101. 为页眉添加图片     office中有效 wps中无效  锚:bbb
  102. $objDrawing = new PHPExcel_Worksheet_HeaderFooterDrawing();
  103. $objDrawing->setName('PHPExcel logo');
  104. $objDrawing->setPath('./images/phpexcel_logo.gif');
  105. $objDrawing->setHeight(36);
  106. $objPHPExcel->getActiveSheet()->getHeaderFooter()->addImage($objDrawing, PHPExcel_Worksheet_HeaderFooter::IMAGE_HEADER_LEFT );
  107. 设置单元格的批注    锚:bbb
  108. //给单元格添加批注
  109. $objPHPExcel->getActiveSheet()->getComment( 'E13')->setAuthor('PHPExcel' );     //设置作者
  110. $objCommentRichText = $objPHPExcel->getActiveSheet()->getComment('E13' )->getText()->createTextRun('PHPExcel:');  //添加批注
  111. $objCommentRichText->getFont()->setBold( true);  //将现有批注加粗
  112. $objPHPExcel->getActiveSheet()->getComment( 'E13')->getText()->createTextRun("\r\n" );      //添加更多批注
  113. $objPHPExcel->getActiveSheet()->getComment( 'E13')->getText()->createTextRun('Total amount on the current invoice, including VAT.' );
  114. $objPHPExcel->getActiveSheet()->getComment( 'E13')->setWidth('100pt' );      //设置批注显示的宽高 ,在office中有效在wps中无效
  115. $objPHPExcel->getActiveSheet()->getComment( 'E13')->setHeight('100pt' );
  116. $objPHPExcel->getActiveSheet()->getComment( 'E13')->setMarginLeft('150pt' );
  117. $objPHPExcel->getActiveSheet()->getComment( 'E13')->getFillColor()->setRGB('EEEEEE' );      //设置背景色 ,在office中有效在wps中无效
  118. 添加文字块    看效果图 office中有效 wps中无效  锚:bbb
  119. //大概翻译  创建一个富文本框  office有效  wps无效
  120. $objRichText = new PHPExcel_RichText();
  121. $objRichText->createText('This invoice is ');    //写文字
  122. //添加文字并设置这段文字粗体斜体和文字颜色
  123. $objPayable = $objRichText->createTextRun( 'payable within thirty days after the end of the month');
  124. $objPayable->getFont()->setBold( true);
  125. $objPayable->getFont()->setItalic( true);
  126. $objPayable->getFont()->setColor( new PHPExcel_Style_Color( PHPExcel_Style_Color::COLOR_DARKGREEN ) );
  127. $objRichText->createText(', unless specified otherwise on the invoice.');
  128. //将文字写到A18单元格中
  129. $objPHPExcel->getActiveSheet()->getCell( 'A18')->setValue($objRichText);
  130. 合并拆分单元格    锚:bbb
  131. $objPHPExcel->getActiveSheet()->mergeCells( 'A28:B28');      // A28:B28合并
  132. $objPHPExcel->getActiveSheet()->unmergeCells( 'A28:B28');    // A28:B28再拆分
  133. 单元格密码保护    锚:bbb
  134. // 单元格密码保护不让修改
  135. $objPHPExcel->getActiveSheet()->getProtection()->setSheet( true);  // 为了使任何表保护,需设置为真
  136. $objPHPExcel->getActiveSheet()->protectCells( 'A3:E13', 'PHPExcel' ); // 将A3到E13保护 加密密码是 PHPExcel
  137. $objPHPExcel->getActiveSheet()->getStyle( 'B1')->getProtection()->setLocked(PHPExcel_Style_Protection::PROTECTION_UNPROTECTED); //去掉保护
  138. 设置单元格字体   锚:bbb
  139. //将B1的文字字体设置为Candara,20号的粗体下划线有背景色
  140. $objPHPExcel->getActiveSheet()->getStyle( 'B1')->getFont()->setName('Candara' );
  141. $objPHPExcel->getActiveSheet()->getStyle( 'B1')->getFont()->setSize(20);
  142. $objPHPExcel->getActiveSheet()->getStyle( 'B1')->getFont()->setBold(true);
  143. $objPHPExcel->getActiveSheet()->getStyle( 'B1')->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
  144. $objPHPExcel->getActiveSheet()->getStyle( 'B1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);
  145. 文字对齐方式  锚:bbb
  146. $objPHPExcel->getActiveSheet()->getStyle( 'D11')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);    //水平方向上对齐
  147. $objPHPExcel->getActiveSheet()->getStyle('A18')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY);//水平方向上两端对齐
  148. $objPHPExcel->getActiveSheet()->getStyle( 'A18')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);       //垂直方向上中间居中
  149. 设置单元格边框  锚:bbb
  150. $styleThinBlackBorderOutline = array(
  151. 'borders' => array (
  152. 'outline' => array (
  153. 'style' => PHPExcel_Style_Border::BORDER_THIN,   //设置border样式
  154. //'style' => PHPExcel_Style_Border::BORDER_THICK,  另一种样式
  155. 'color' => array ('argb' => 'FF000000'),          //设置border颜色
  156. ),
  157. ),
  158. );
  159. $objPHPExcel->getActiveSheet()->getStyle( 'A4:E10')->applyFromArray($styleThinBlackBorderOutline);
  160. 背景填充颜色     锚:bbb
  161. //设置填充的样式和背景色
  162. $objPHPExcel->getActiveSheet()->getStyle( 'A1:E1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
  163. $objPHPExcel->getActiveSheet()->getStyle( 'A1:E1')->getFill()->getStartColor()->setARGB('FF808080');
  164. 综合设置样例
  165. $objPHPExcel->getActiveSheet()->getStyle( 'A3:E3')->applyFromArray(
  166. array(
  167. 'font'    => array (
  168. 'bold'      => true
  169. ),
  170. 'alignment' => array (
  171. 'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_RIGHT ,
  172. ),
  173. 'borders' => array (
  174. 'top'     => array (
  175. 'style' => PHPExcel_Style_Border::BORDER_THIN
  176. )
  177. ),
  178. 'fill' => array (
  179. 'type'       => PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR ,
  180. 'rotation'   => 90,
  181. 'startcolor' => array (
  182. 'argb' => 'FFA0A0A0'
  183. ),
  184. 'endcolor'   => array (
  185. 'argb' => 'FFFFFFFF'
  186. )
  187. )
  188. )
  189. );
  190. 给单元格内容设置url超链接      锚:bbb
  191. $objActSheet->getCell('E26')->getHyperlink()->setUrl( 'http://www.phpexcel.net');    //超链接url地址
  192. $objActSheet->getCell('E26')->getHyperlink()->setTooltip( 'Navigate to website');  //鼠标移上去连接提示信息
  193. 给表中添加图片     锚:bbb
  194. $objDrawing = new PHPExcel_Worksheet_Drawing();
  195. $objDrawing->setName('Paid');
  196. $objDrawing->setDescription('Paid');
  197. $objDrawing->setPath('./images/paid.png'); //图片引入位置
  198. $objDrawing->setCoordinates('B15'); //图片添加位置
  199. $objDrawing->setOffsetX(210);
  200. $objDrawing->setRotation(25);
  201. $objDrawing->setHeight(36);
  202. $objDrawing->getShadow()->setVisible (true );
  203. $objDrawing->getShadow()->setDirection(45);
  204. $objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
  205. //还可以添加有gd库生产的图片,详细见自带实例25
  206. 创建一个新工作表和设置工作表标签颜色     锚:bbb
  207. $objExcel->createSheet();
  208. $objPHPExcel->setActiveSheetIndex(1);   //设置第2个表为活动表,提供操作句柄
  209. $objExcel->getSheet(1)->setTitle( '测试2');   //直接得到第二个表进行设置,将工作表重新命名为测试2
  210. $objPHPExcel->getActiveSheet()->getTabColor()->setARGB( 'FF0094FF');     //设置标签颜色
  211. 添加或删除行和列     锚:bbb
  212. $objPHPExcel->getActiveSheet()->insertNewRowBefore(6, 10);   //在行6前添加10行
  213. $objPHPExcel->getActiveSheet()->removeRow(6, 10);                  //从第6行往后删去10行
  214. $objPHPExcel->getActiveSheet()->insertNewColumnBefore( 'E', 5);    //从第E列前添加5类
  215. $objPHPExcel->getActiveSheet()->removeColumn( 'E', 5);             //从E列开始往后删去5列
  216. 隐藏和显示某列     锚:bbb
  217. $objPHPExcel->getActiveSheet()->getColumnDimension( 'C')->setVisible(false);          //隐藏
  218. $objPHPExcel->getActiveSheet()->getColumnDimension( 'D')->setVisible(true);           //显示
  219. 重新命名活动的表的标签名称     锚:bbb
  220. $objPHPExcel->getActiveSheet()->setTitle( 'Invoice');
  221. 设置工作表的安全
  222. $objPHPExcel->getActiveSheet()->getProtection()->setPassword( 'PHPExcel');
  223. $objPHPExcel->getActiveSheet()->getProtection()->setSheet( true); // This should be enabled in order to enable any of the following!
  224. $objPHPExcel->getActiveSheet()->getProtection()->setSort( true);
  225. $objPHPExcel->getActiveSheet()->getProtection()->setInsertRows( true);
  226. $objPHPExcel->getActiveSheet()->getProtection()->setFormatCells( true);
  227. 设置文档安全   锚:bbb
  228. $objPHPExcel->getSecurity()->setLockWindows( true);
  229. $objPHPExcel->getSecurity()->setLockStructure( true);
  230. $objPHPExcel->getSecurity()->setWorkbookPassword( "PHPExcel");     //设置密码
  231. 样式复制      锚:bbb
  232. //将B2的样式复制到B3至B7
  233. $objPHPExcel->getActiveSheet()->duplicateConditionalStyle(
  234. $objPHPExcel->getActiveSheet()->getStyle( 'B2')->getConditionalStyles(),
  235. 'B3:B7'
  236. );
  237. Add conditional formatting    锚:bbb
  238. echo date('H:i:s' ) , " Add conditional formatting" , PHP_EOL;
  239. $objConditional1 = new PHPExcel_Style_Conditional ();
  240. $objConditional1->setConditionType(PHPExcel_Style_Conditional ::CONDITION_CELLIS );
  241. $objConditional1->setOperatorType(PHPExcel_Style_Conditional ::OPERATOR_BETWEEN );
  242. $objConditional1->addCondition('200');
  243. $objConditional1->addCondition('400');
  244. 设置分页(主要用于打印)    锚:bbb
  245. //设置某单元格为页尾
  246. $objPHPExcel->getActiveSheet()->setBreak( 'A' . $i, PHPExcel_Worksheet::BREAK_ROW );
  247. 用数组填充表    锚:bbb
  248. //吧数组的内容从A2开始填充
  249. $dataArray = array( array("2010" ,    "Q1",  "United States",  790),
  250. array("2010" ,    "Q2",  "United States",  730),
  251. );
  252. $objPHPExcel->getActiveSheet()->fromArray($dataArray, NULL, 'A2');
  253. 设置自动筛选     锚:bbb
  254. $objPHPExcel->getActiveSheet()->setAutoFilter($objPHPExcel->getActiveSheet()->calculateWorksheetDimension());
  255. //$objPHPExcel->getActiveSheet()->calculateWorksheetDimension()....得到A1行的所有内容个
  256. 打印出的到所有的公式
  257. $objCalc = PHPExcel_Calculation::getInstance();
  258. print_r($objCalc->listFunctionNames())
  259. 设置单元格值的范围     锚:bbb
  260. $objValidation = $objPHPExcel->getActiveSheet()->getCell('B3' )->getDataValidation();
  261. $objValidation->setType( PHPExcel_Cell_DataValidation:: TYPE_WHOLE );
  262. $objValidation->setErrorStyle( PHPExcel_Cell_DataValidation:: STYLE_STOP );
  263. $objValidation->setAllowBlank(true);
  264. $objValidation->setShowInputMessage( true);            //设置显示提示信息
  265. $objValidation->setShowErrorMessage( true);            //设置显示错误信息
  266. $objValidation->setErrorTitle('Input error');    //错误标题
  267. //$objValidation->setShowDropDown(true);
  268. $objValidation->setError('Only numbers between 10 and 20 are allowed!');       //错误内容
  269. $objValidation->setPromptTitle('Allowed input');       //设置提示标题
  270. $objValidation->setPrompt('Only numbers between 10 and 20 are allowed.'); //提示内容
  271. $objValidation->setFormula1(10);     //设置最大值
  272. $objValidation->setFormula2(120);    //设置最小值
  273. //或者这样设置  $objValidation->setFormula2(1,5,6,7);  设置值是1,5,6,7中的一个数
  274. 其他
  275. $objPHPExcel->getActiveSheet()->getStyle( 'B5')->getAlignment()->setShrinkToFit(true); //长度不够显示的时候 是否自动换行
  276. $objPHPExcel->getActiveSheet()->getStyle( 'B5')->getAlignment()->setShrinkToFit(true); //自动转换显示字体大小,使内容能够显示
  277. $objPHPExcel->getActiveSheet()->getCell(B14)->getValue();           //获得值,有可能得到的是公式
  278. $objPHPExcel->getActiveSheet()->getCell(B14)->getCalculatedValue();//获得算出的值
  279. 导入或读取文件
  280. //通过PHPExcel_IOFactory::load方法来载入一个文件,load会自动判断文件的后缀名来导入相应的处理类,读取格式保含xlsx/xls/xlsm/ods/slk/csv/xml/gnumeric
  281. require_once '../Classes/PHPExcel/IOFactory.php';
  282. $objPHPExcel = PHPExcel_IOFactory::load(
  283. //吧载入的文件默认表(一般都是第一个)通过toArray方法来返回一个多维数组
  284. $dataArray = $objPHPExcel->getActiveSheet()->toArray();
  285. //读完直接写到一个xlsx文件里
  286. $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); //$objPHPExcel是上文中读的资源
  287. $objWriter->save(str_replace('.php', '.xlsx', __FILE__));
  288. 读取xml文件
  289. $objReader = PHPExcel_IOFactory:: createReader('Excel2003XML' );
  290. $objPHPExcel = $objReader->load( "Excel2003XMLTest.xml" );
  291. 读取ods文件
  292. $objReader = PHPExcel_IOFactory:: createReader('OOCalc' );
  293. $objPHPExcel = $objReader->load("OOCalcTest.ods" );
  294. 读取numeric文件
  295. $objReader = PHPExcel_IOFactory:: createReader('Gnumeric' );
  296. $objPHPExcel = $objReader->load( "GnumericTest.gnumeric" );
  297. 读取slk文件
  298. $objPHPExcel = PHPExcel_IOFactory:: load("SylkTest.slk" );
  299. 循环遍历数据
  300. $objReader = PHPExcel_IOFactory::createReader('Excel2007' ); //创建一个2007的读取对象
  301. $objPHPExcel = $objReader->load ("05featuredemo.xlsx" );             //读取一个xlsx文件
  302. foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {     //遍历工作表
  303. echo 'Worksheet - ' , $worksheet->getTitle() , PHP_EOL;
  304. foreach ($worksheet->getRowIterator() as $row) {       //遍历行
  305. echo '    Row number - ' , $row->getRowIndex() , PHP_EOL;
  306. $cellIterator = $row->getCellIterator();   //得到所有列
  307. $cellIterator->setIterateOnlyExistingCells( false); // Loop all cells, even if it is not set
  308. foreach ($cellIterator as $cell) {  //遍历列
  309. if (!is_null($cell)) {  //如果列不给空就得到它的坐标和计算的值
  310. echo '        Cell - ' , $cell->getCoordinate() , ' - ' , $cell->getCalculatedValue() , PHP_EOL;
  311. }
  312. }
  313. }
  314. }
  315. 数组插入的表中
  316. //插入的数据 3行数据
  317. $data = array( array('title'      => 'Excel for dummies',
  318. 'price'      => 17.99,
  319. 'quantity'   => 2
  320. ),
  321. array('title'       => 'PHP for dummies',
  322. 'price'      => 15.99,
  323. 'quantity'  => 1
  324. ),
  325. array('title'      => 'Inside OOP',
  326. 'price'      => 12.95,
  327. 'quantity'  => 1
  328. )
  329. );
  330. $baseRow = 5;      //指定插入到第5行后
  331. foreach($data as $r => $dataRow) {
  332. $row = $baseRow + $r;    //$row是循环操作行的行号
  333. $objPHPExcel->getActiveSheet()->insertNewRowBefore($row,1);  //在操作行的号前加一空行,这空行的行号就变成了当前的行号
  334. //对应的咧都附上数据和编号
  335. $objPHPExcel->getActiveSheet()->setCellValue( 'A'.$row, $r+1);
  336. $objPHPExcel->getActiveSheet()->setCellValue( 'B'.$row, $dataRow['title']);
  337. $objPHPExcel->getActiveSheet()->setCellValue( 'C'.$row, $dataRow['price']);
  338. $objPHPExcel->getActiveSheet()->setCellValue( 'D'.$row, $dataRow['quantity']);
  339. $objPHPExcel->getActiveSheet()->setCellValue( 'E'.$row, '=C'.$row.'*D' .$row);
  340. }
  341. $objPHPExcel->getActiveSheet()->removeRow($baseRow-1,1);     //最后删去第4行,这是示例需要,在此处为大家提供删除实例
  342. 作者:黄聪
  343. 出处:http://www.cnblogs.com/huangcong/
  344. 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

PHPExcel-设置表格字体颜色背景样式、数据格式、对齐方式、添加图片、批注、文字块、合并拆分单元格、单元格密码保护的更多相关文章

  1. 黄聪:phpexcel中文教程-设置表格字体颜色背景样式、数据格式、对齐方式、添加图片、批注、文字块、合并拆分单元格、单元格密码保护

    首先到phpexcel官网上下载最新的phpexcel类,下周解压缩一个classes文件夹,里面包含了PHPExcel.php和PHPExcel的文件夹,这个类文件和文件夹是我们需要的,把class ...

  2. phpexcel中文教程-设置表格字体颜色背景样式、数据格式、对齐方式、添加图片、批注、文字块、合并拆分单元格、单元格密码保护

    转:http://www.cnblogs.com/huangcong/p/3687665.html 首先到phpexcel官网上下载最新的phpexcel类,下周解压缩一个classes文件夹,里面包 ...

  3. 色彩缤纷的python(改变字体颜色及样式不完全版)

    色彩缤纷的python(改变字体颜色及样式) *补上昨天随笔中提到的改变字体颜色样式的方法,昨日随笔https://www.cnblogs.com/Du704/p/11265958.html 在项目过 ...

  4. 色彩缤纷的Python(改变字体颜色及样式)

    色彩缤纷的python(改变字体颜色及样式) 在项目过程中,我们常常会因为输出信息的颜色与样式过于单调以至于让人在视觉上感到很杂乱,所以看下文: 在Linux终端中,使用转义序列来进行如上所述的显示, ...

  5. 设置placeholder字体颜色

    /*设置placeholder字体颜色*/::-webkit-input-placeholder{ color: #FFF;}:-ms-input-placeholder{ color: #FFF;} ...

  6. pycharm 如何设置函数调用字体颜色

    一.pycharm 如何设置函数调用字体颜色 1.打开pycharm编辑器,file > settings > editor > color scheme > python & ...

  7. poi生成excel整理(设置边框/字体/颜色/加粗/居中/)

    转: poi生成excel整理(设置边框/字体/颜色/加粗/居中/) 2016年12月02日 11:05:23 吃奶的牛 阅读数:34324   HSSFWorkbook wb = new HSSFW ...

  8. Extjs grid 设置行字体颜色

    CustSuppGrid = Ext.create('Ext.grid.Panel', { title : '', // 标题头 iconCls : 'icon-grid', // 标题图标 stor ...

  9. WEB前端基础之SCC(字体颜色背景-盒子模型)

    目录 一:伪元素选择器 1.首字调整>>>:也是一种文档布局的方式 2.在文本的前面通过css动态渲染文本>>>:特殊文本无法选中 3.在文本的后面通过css动态渲 ...

随机推荐

  1. [转]eclipse转idea, 快捷键设置

    原文地址: eclipse转idea, 快捷键设置   设置快捷键的途径: 打开idea的配置,找到Keymap,设置为eclipse 另外还要手动设置某些快捷键 上下移动 点击类打开 代码提示 查询 ...

  2. SetProcessWorkingSetSize 降低程序运行内存

    在项目中对程序性能优化时,发现用SetProcessWorkingSetSize() 方法使内存降低了很多,于是查阅了相关的资料如下. 一 SetProcessWorkingSetSize 的工作原理 ...

  3. Kruskal 模板

    最小生成树指的是在图上面找到权值最小的一棵树,并且保证图上所有的点都在这棵树上. 解决办法:Kruskal 算法(贪心思想) 将边按权值从小到大排序,然后按这个顺序不断连边,直到所有点联通. /** ...

  4. Java 中的“implements Runnable” 和“extends Thread”

    知识点 “implements Runnable” 和“extends Thread”的不同 具体分析 最近在学习Android中的Handler消息传递机制时,创建新线程有两种方式:一种是实现Run ...

  5. Calculate CRC32 as in STM32 hardware (EWARM v.5.50 and later)

    http://supp.iar.com/Support/?note=64424&from=note+11927 BackgroundThe STM32 devices from ST Micr ...

  6. leetcode——169 Majority Element(数组中出现次数过半的元素)

    Given an array of size n, find the majority element. The majority element is the element that appear ...

  7. 使用SIGALRM信号为阻塞操作设置超时

    我们经常会遇到为阻塞操作设置超时的问题,比如说阻塞套接字read读取设置10秒超时,其中一个办法就是调用alarm函数,它在指定超时时期产生SIGALRM信号,使得阻塞操作中断. 但其弊端在于: 1. ...

  8. WebLogic使用总结(五)——Web项目使用Sigar在WebLogic服务器部署遇到的问题

    今天在WebLogic 12c服务器上部署Web项目时,碰到了一个问题.项目中使用到了"Sigar.jar"监控Window平台下的cpu使用率.内存使用率和硬盘信息,sigar. ...

  9. java根据模板HTML动态生成PDF

    原文:https://segmentfault.com/a/1190000009160184 一.需求说明:根据业务需要,需要在服务器端生成可动态配置的PDF文档,方便数据可视化查看. 二.解决方案: ...

  10. The Topo to Raster tool returns errors 010235 and 010067转

    Problem: The Topo to Raster tool returns errors 010235 and 010067 Description The Topo to Raster geo ...