phpExcel常用方法详解【附有php导出excel加超级链接】

发表于4年前(2012-07-20 12:57)   阅读(510) | 评论(0) 0人收藏此文章, 我要收藏
赞0 http://www.codeplex.com/PHPExcel http://www.phpexcel.net 开发包Tests目录有详细使用实例
支持中文,注意文件编码,文件保存为utf-8 //Add a hyperlink to the sheet 添加链接
$objPHPExcel->getActiveSheet()->setCellValue(‘E26′, ‘www.phpexcel.net’);
$objPHPExcel->getActiveSheet()->getCell(‘E26′)->getHyperlink()->setUrl(‘http://www.phpexcel.net’);
$objPHPExcel->getActiveSheet()->getCell(‘E26′)->getHyperlink()->setTooltip(‘Navigate to website’);
$objPHPExcel->getActiveSheet()->getStyle(‘E26′)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); 写excel //Include class
require_once(‘Classes/PHPExcel.php’);
require_once(‘Classes/PHPExcel/Writer/Excel2007.php’);
$objPHPExcel = new PHPExcel(); //Set properties 设置文件属性
$objPHPExcel->getProperties()->setCreator(“Maarten Balliauw”);
$objPHPExcel->getProperties()->setLastModifiedBy(“Maarten Balliauw”);
$objPHPExcel->getProperties()->setTitle(“Office 2007 XLSX Test Document”);
$objPHPExcel->getProperties()->setSubject(“Office 2007 XLSX Test Document”);
$objPHPExcel->getProperties()->setDescription(“Test document for Office 2007 XLSX, generated using PHP classes.”);
$objPHPExcel->getProperties()->setKeywords(“office 2007 openxml php”);
$objPHPExcel->getProperties()->setCategory(“Test result file”); //Add some data 添加数据
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setCellValue(‘A1′, ‘Hello’);//可以指定位置
$objPHPExcel->getActiveSheet()->setCellValue(‘A2′, true);
$objPHPExcel->getActiveSheet()->setCellValue(‘A3′, false);
$objPHPExcel->getActiveSheet()->setCellValue(‘B2′, ‘world!’);
$objPHPExcel->getActiveSheet()->setCellValue(‘B3′, 2);
$objPHPExcel->getActiveSheet()->setCellValue(‘C1′, ‘Hello’);
$objPHPExcel->getActiveSheet()->setCellValue(‘D2′, ‘world!’);
//循环
for($i = 1;$i<200;$i++) {
$objPHPExcel->getActiveSheet()->setCellValue(‘A’ . $i, $i);
$objPHPExcel->getActiveSheet()->setCellValue(‘B’ . $i, ‘Test value’);
}
//日期格式化
$objPHPExcel->getActiveSheet()->setCellValue(‘D1′, time());
$objPHPExcel->getActiveSheet()->getStyle(‘D1′)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDDSLASH); //Add comment 添加注释
$objPHPExcel->getActiveSheet()->getComment(‘E11′)->setAuthor(‘PHPExcel’);
$objCommentRichText = $objPHPExcel->getActiveSheet()->getComment(‘E11′)->getText()->createTextRun(‘PHPExcel:’);
$objCommentRichText->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getComment(‘E11′)->getText()->createTextRun(“\r\n”);
$objPHPExcel->getActiveSheet()->getComment(‘E11′)->getText()->createTextRun(‘Total amount on the current invoice, excluding VAT.’); //Add rich-text string 添加文字 可设置样式
$objRichText = new PHPExcel_RichText( $objPHPExcel->getActiveSheet()->getCell(‘A18′) );
$objRichText->createText(‘This invoice is ‘);
$objPayable = $objRichText->createTextRun(‘payable within thirty days after the end of the month’);
$objPayable->getFont()->setBold(true);
$objPayable->getFont()->setItalic(true);
$objPayable->getFont()->setColor( new PHPExcel_Style_Color( PHPExcel_Style_Color::COLOR_DARKGREEN ) );
$objRichText->createText(‘, unless specified otherwise on the invoice.’); //Merge cells 合并分离单元格
$objPHPExcel->getActiveSheet()->mergeCells(‘A18:E22′);
$objPHPExcel->getActiveSheet()->unmergeCells(‘A18:E22′); //Protect cells 保护单元格
$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true);//Needs to be set to true in order to enable any worksheet protection!
$objPHPExcel->getActiveSheet()->protectCells(‘A3:E13′, ‘PHPExcel’); //Set cell number formats 数字格式化
$objPHPExcel->getActiveSheet()->getStyle(‘E4′)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE);
$objPHPExcel->getActiveSheet()->duplicateStyle( $objPHPExcel->getActiveSheet()->getStyle(‘E4′), ‘E5:E13′ ); //Set column widths 设置列宽度
$objPHPExcel->getActiveSheet()->getColumnDimension(‘B’)->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension(‘D’)->setWidth(12); //Set fonts 设置字体
$objPHPExcel->getActiveSheet()->getStyle(‘B1′)->getFont()->setName(‘Candara’);
$objPHPExcel->getActiveSheet()->getStyle(‘B1′)->getFont()->setSize(20);
$objPHPExcel->getActiveSheet()->getStyle(‘B1′)->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle(‘B1′)->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
$objPHPExcel->getActiveSheet()->getStyle(‘B1′)->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE); //Set alignments 设置对齐
$objPHPExcel->getActiveSheet()->getStyle(‘D11′)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle(‘A18′)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY);
$objPHPExcel->getActiveSheet()->getStyle(‘A18′)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle(‘A3′)->getAlignment()->setWrapText(true); //Set column borders 设置列边框
$objPHPExcel->getActiveSheet()->getStyle(‘A4′)->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet()->getStyle(‘A10′)->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet()->getStyle(‘E10′)->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet()->getStyle(‘D13′)->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THICK);
$objPHPExcel->getActiveSheet()->getStyle(‘E13′)->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THICK); //Set border colors 设置边框颜色
$objPHPExcel->getActiveSheet()->getStyle(‘D13′)->getBorders()->getLeft()->getColor()->setARGB(‘FF993300′);
$objPHPExcel->getActiveSheet()->getStyle(‘D13′)->getBorders()->getTop()->getColor()->setARGB(‘FF993300′);
$objPHPExcel->getActiveSheet()->getStyle(‘D13′)->getBorders()->getBottom()->getColor()->setARGB(‘FF993300′);
$objPHPExcel->getActiveSheet()->getStyle(‘E13′)->getBorders()->getRight()->getColor()->setARGB(‘FF993300′); //Set fills 设置填充
$objPHPExcel->getActiveSheet()->getStyle(‘A1′)->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle(‘A1′)->getFill()->getStartColor()->setARGB(‘FF808080′); //Add a hyperlink to the sheet 添加链接
$objPHPExcel->getActiveSheet()->setCellValue(‘E26′, ‘www.phpexcel.net’);
$objPHPExcel->getActiveSheet()->getCell(‘E26′)->getHyperlink()->setUrl(‘http://www.phpexcel.net’);
$objPHPExcel->getActiveSheet()->getCell(‘E26′)->getHyperlink()->setTooltip(‘Navigate to website’);
$objPHPExcel->getActiveSheet()->getStyle(‘E26′)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); //Add a drawing to the worksheet 添加图片
$objDrawing = new PHPExcel_Worksheet_Drawing();
$objDrawing->setName(‘Logo’);
$objDrawing->setDescription(‘Logo’);
$objDrawing->setPath(‘./images/officelogo.jpg’);
$objDrawing->setHeight(36);
$objDrawing->setCoordinates(‘B15′);
$objDrawing->setOffsetX(110);
$objDrawing->setRotation(25);
$objDrawing->getShadow()->setVisible(true);
$objDrawing->getShadow()->setDirection(45);
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet()); //Play around with inserting and removing rows and columns
$objPHPExcel->getActiveSheet()->insertNewRowBefore(6, 10);
$objPHPExcel->getActiveSheet()->removeRow(6, 10);
$objPHPExcel->getActiveSheet()->insertNewColumnBefore(‘E’, 5);
$objPHPExcel->getActiveSheet()->removeColumn(‘E’, 5); //Add conditional formatting
$objConditional1 = new PHPExcel_Style_Conditional();
$objConditional1->setConditionType(PHPExcel_Style_Conditional::CONDITION_CELLIS);
$objConditional1->setOperatorType(PHPExcel_Style_Conditional::OPERATOR_LESSTHAN);
$objConditional1->setCondition(’0′);
$objConditional1->getStyle()->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_RED);
$objConditional1->getStyle()->getFont()->setBold(true); //Set autofilter 自动过滤
$objPHPExcel->getActiveSheet()->setAutoFilter(‘A1:C9′); //Hide “Phone” and “fax” column 隐藏列
$objPHPExcel->getActiveSheet()->getColumnDimension(‘C’)->setVisible(false);
$objPHPExcel->getActiveSheet()->getColumnDimension(‘D’)->setVisible(false); //Set document security 设置文档安全
$objPHPExcel->getSecurity()->setLockWindows(true);
$objPHPExcel->getSecurity()->setLockStructure(true);
$objPHPExcel->getSecurity()->setWorkbookPassword(“PHPExcel”); //Set sheet security 设置工作表安全
$objPHPExcel->getActiveSheet()->getProtection()->setPassword(‘PHPExcel’);
$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true);// This should be enabled in order to enable any of the following!
$objPHPExcel->getActiveSheet()->getProtection()->setSort(true);
$objPHPExcel->getActiveSheet()->getProtection()->setInsertRows(true);
$objPHPExcel->getActiveSheet()->getProtection()->setFormatCells(true); //Calculated data 计算
echo ‘Value of B14 [=COUNT(B2:B12)]: ‘ . $objPHPExcel->getActiveSheet()->getCell(‘B14′)->getCalculatedValue() . “\r\n”; //Set outline levels
$objPHPExcel->getActiveSheet()->getColumnDimension(‘E’)->setOutlineLevel(1);
$objPHPExcel->getActiveSheet()->getColumnDimension(‘E’)->setVisible(false);
$objPHPExcel->getActiveSheet()->getColumnDimension(‘E’)->setCollapsed(true); //Freeze panes
$objPHPExcel->getActiveSheet()->freezePane(‘A2′); //Rows to repeat at top
$objPHPExcel->getActiveSheet()->getPageSetup()->setRowsToRepeatAtTopByStartAndEnd(1, 1); //Set data validation 验证输入值
$objValidation = $objPHPExcel->getActiveSheet()->getCell(‘B3′)->getDataValidation();
$objValidation->setType( PHPExcel_Cell_DataValidation::TYPE_WHOLE );
$objValidation->setErrorStyle( PHPExcel_Cell_DataValidation::STYLE_STOP );
$objValidation->setAllowBlank(true);
$objValidation->setShowInputMessage(true);
$objValidation->setShowErrorMessage(true);
$objValidation->setErrorTitle(‘Input error’);
$objValidation->setError(‘Number is not allowed!’);
$objValidation->setPromptTitle(‘Allowed input’);
$objValidation->setPrompt(‘Only numbers between 10 and 20 are allowed.’);
$objValidation->setFormula1(10);
$objValidation->setFormula2(20);
$objPHPExcel->getActiveSheet()->getCell(‘B3′)->setDataValidation($objValidation); //Create a new worksheet, after the default sheet 创建新的工作标签
$objPHPExcel->createSheet();
$objPHPExcel->setActiveSheetIndex(1); //Set header and footer. When no different headers for odd/even are used, odd header is assumed. 页眉页脚
$objPHPExcel->getActiveSheet()->getHeaderFooter()->setOddHeader(‘&C&HPlease treat this document as confidential!’);
$objPHPExcel->getActiveSheet()->getHeaderFooter()->setOddFooter(‘&L&B’ . $objPHPExcel->getProperties()->getTitle() . ‘&RPage &P of &N’); //Set page orientation and size 方向大小
$objPHPExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE);
$objPHPExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4); //Rename sheet 重命名工作表标签
$objPHPExcel->getActiveSheet()->setTitle(‘Simple’); //Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0); //Save Excel 2007 file 保存
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter->save(str_replace(‘.php’, ‘.xlsx’, __FILE__)); //Save Excel 5 file 保存
require_once(‘Classes/PHPExcel/Writer/Excel5.php’);
$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);
$objWriter->save(str_replace(‘.php’, ‘.xls’, __FILE__)); //1.6.2新版保存
require_once(‘Classes/PHPExcel/IOFactory.php’);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel2007′);
$objWriter->save(str_replace(‘.php’, ‘.xls’, __FILE__)); 读excel
//Include class
require_once(‘Classes/PHPExcel/Reader/Excel2007.php’);
$objReader = new PHPExcel_Reader_Excel2007; $objPHPExcel = $objReader->load(“05featuredemo.xlsx”); 读写csv require_once(“05featuredemo.inc.php”);
require_once(‘Classes/PHPExcel/Writer/CSV.php’);
require_once(‘Classes/PHPExcel/Reader/CSV.php’);
require_once(‘Classes/PHPExcel/Writer/Excel2007.php’); //Write to CSV format 写
$objWriter = new PHPExcel_Writer_CSV($objPHPExcel);
$objWriter->setDelimiter(‘;’);
$objWriter->setEnclosure(”);
$objWriter->setLineEnding(“\r\n”);
$objWriter->setSheetIndex(0);
$objWriter->save(str_replace(‘.php’, ‘.csv’, __FILE__)); //Read from CSV format 读
$objReader = new PHPExcel_Reader_CSV();
$objReader->setDelimiter(‘;’);
$objReader->setEnclosure(”);
$objReader->setLineEnding(“\r\n”);
$objReader->setSheetIndex(0);
$objPHPExcelFromCSV = $objReader->load(str_replace(‘.php’, ‘.csv’, __FILE__)); //Write to Excel2007 format
$objWriter2007 = new PHPExcel_Writer_Excel2007($objPHPExcelFromCSV);
$objWriter2007->save(str_replace(‘.php’, ‘.xlsx’, __FILE__)); 写html require_once(“05featuredemo.inc.php”);
require_once(‘Classes/PHPExcel/Writer/HTML.php’); //Write to HTML format
$objWriter = new PHPExcel_Writer_HTML($objPHPExcel);
$objWriter->setSheetIndex(0);
$objWriter->save(str_replace(‘.php’, ‘.htm’, __FILE__)); 写pdf require_once(“05featuredemo.inc.php”);
require_once(‘Classes/PHPExcel/IOFactory.php’); //Write to PDF format
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ‘PDF’);
$objWriter->setSheetIndex(0);
$objWriter->save(str_replace(‘.php’, ‘.pdf’, __FILE__));
//Echo memory peak usage
echo date(‘H:i:s’) . ” Peak memory usage: ” . (memory_get_peak_usage(true) / 1024 / 1024) . ” MB\r\n”;

https://www.cnblogs.com/archoncap/p/5197977.html

phpExcel常用方法详解的更多相关文章

  1. phpExcel常用方法详解【附有php导出excel加超级链接】

    phpExcel常用方法详解[附有php导出excel加超级链接] 发表于4年前(-- :) 阅读() | 评论() 0人收藏此文章, 我要收藏 赞0 http://www.codeplex.com/ ...

  2. $.ajax()常用方法详解(推荐)

    AJAX 是一种与服务器交换数据的技术,可以在补充在整个页面的情况下更新网页的一部分.接下来通过本文给大家介绍ajax一些常用方法,大家有需要可以一起学习. 1.url: 要求为String类型的参数 ...

  3. 【Java】HashMap源码分析——常用方法详解

    上一篇介绍了HashMap的基本概念,这一篇着重介绍HasHMap中的一些常用方法:put()get()**resize()** 首先介绍resize()这个方法,在我看来这是HashMap中一个非常 ...

  4. JavaScript语法基础:数组的常用方法详解

    本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 数组的定义 之前学习的数据类型,只能存储一个值(字符串为一个值).如果我 ...

  5. StringUtils工具类常用方法详解

    StringUtils 常用方法 1.isEmpty(String str) 是否为空,空格字符为false2.isNotEmpty(String str) 是否为非空,空格字符为true3.isBl ...

  6. Java-Method类常用方法详解

    一.Method类的定义Method类位于 java.lang.reflect 包中,主要用于在程序运行状态中,动态地获取方法信息二.Method类的常用方法  1.getAnnotatedRetur ...

  7. 【python基础】os.path模块常用方法详解

    os.path模块 主要用于文件的属性获取,在编程中经常用到,以下是该模块的几种常用方法. 更多的方法可以去查看官方文档:http://docs.python.org/library/os.path. ...

  8. python os.path模块常用方法详解

    os.path模块主要用于文件的属性获取,在编程中经常用到,以下是该模块的几种常用方法.更多的方法可以去查看官方文档:http://docs.python.org/library/os.path.ht ...

  9. python os.path模块常用方法详解(转)

    转自:https://www.cnblogs.com/wuxie1989/p/5623435.html os.path模块主要用于文件的属性获取,在编程中经常用到,以下是该模块的几种常用方法.更多的方 ...

  10. python os.path模块常用方法详解 ZZ

    os.path模块主要用于文件的属性获取,在编程中经常用到,以下是该模块的几种常用方法.更多的方法可以去查看官方文档:http://docs.python.org/library/os.path.ht ...

随机推荐

  1. (0303)《计算机体系结构 量化研究方法》PDF

    (01) https://blog.csdn.net/konghhhhh/article/details/106828402  存储器相关 (1) https://blog.csdn.net/iva_ ...

  2. MySQL 学习(四)并集查询

    联合查询,它是用 union 关键字把多条 select 语句的查询结果合并为一个结果集.纵向合并的前提是被合并的结果集的字段数量.顺序和数据类型必须完全一致.字段名不一样的情况下,会将第一个结果集的 ...

  3. MySQL中的sql优化

    目标: 掌握SQL调优的原则 掌握SQL调优的基本逻辑 掌握优秀SQL的编写方案 掌握何为慢SQL以及检测方案 SQL优化原则 1.减少数据量(表中数据太多可以分表,例如超过500万数据  双11一个 ...

  4. wpf 自定义Messagebox时,对话框显示不居中问题

    在自定义Messagebox(有属性Window.SizeToContent="WidthAndHeight")时,对话框显示不居中,经过尝试,应设置如下: msgBox.Wind ...

  5. git切换到某个tag

    git checkout tags/some_tag_name -b a_new_branch_name

  6. Demo of canvas, canvas optimization and svg

    It used the canvas to draw the curves in the old project, and the client felt that it was vague, so ...

  7. android kotlin data class的公共参数解决

    kotlin的 data class 不能简略的继承 另一个 data class(要初始化对应父类的值) 尝试使用 sealed class 解决 sealed class CommonParams ...

  8. android cannot generate view binders android.databinding.tool.util.LoggedErrorException

    错误: Cannot resolve type 'viewModel'错误: cannot generate view binders android.databinding.tool.util.Lo ...

  9. 暴雪、迪士尼大佬用什么画画?RayLink远控软件助力解锁远程创作

    CG绘画从业者,如原画师.插画师.漫画家.设计师等,一定对数位板\数位屏不陌生,数位板\数位屏是完成CG绘画作品的重要绘图工具之一. 从画画小白到数字绘画大神,从0基础插画培训班学生到国际知名游戏.动 ...

  10. cv::eigen

    void TestEigen() { cv::Mat m = (cv::Mat_<float>(3, 3) << 1, 2, 3, 2, 5, 6, 3, 6, 7); cv: ...