phpexcel-常用命令

PHPExcel中文手册--修改版 

版本:PHPExcel_1.8.0_odt

/*phpexcel中文手册*/

include 'PHPExcel.php';
include 'PHPExcel/Writer/Excel2007.php';
//或者include 'PHPExcel/Writer/Excel5.php'; 用于输出.xls的
创建一个excel
$objPHPExcel = new PHPExcel();
保存到服务器
//$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); //非2007格式
$objWriter->save("xxx.xls");//保存路径+名称
下载到浏览器
$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);
header("Pragma: public");
header("Expires: 0");
header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");
header('Content-Disposition:attachment;filename="resume.xls"');
header("Content-Transfer-Encoding:binary");
$objWriter->save('php://output');
——————————————————————————————————————–
设置excel的属性:
创建人
$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");
——————————————————————————————————————–
//重命名当前sheet
$objPHPExcel->getActiveSheet()->setTitle('title');
//创建新的sheet
$objPHPExcel->createSheet();
//指定当前要处理的sheet,0是第1个,1是第2个……(默认0)
$objPHPExcel->setActiveSheetIndex(0);
------------------------------------------
冻结第1行--冻结的是当前单元格的所有左侧和上方单元格
$objPHPExcel->getActiveSheet()->freezePane('A2');

设置单元格的值
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'String');
$objPHPExcel->getActiveSheet()->setCellValue('A2', 12);
$objPHPExcel->getActiveSheet()->setCellValue('A3', true);
//$objPHPExcel->getActiveSheet()->setCellValue('C5', '=SUM(C2,C4)');
//$objPHPExcel->getActiveSheet()->setCellValue('B8', '=MIN(B2,C5)');
合并单元格
$objPHPExcel->getActiveSheet()->mergeCells('A18:E22');
分离单元格
$objPHPExcel->getActiveSheet()->unmergeCells('A28:B28');

//保护cell--需要设置为true才能启用工作表保护
$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true);
//保护的位置,密码、设置保护后需输入密码才可以进行修改
$objPHPExcel->getActiveSheet()->protectCells('A3:E13', 'password');

#单元格格式:PHPExcel/Style/NumberFormat.php
//设置单元格数字格式--数字前加一个空格使之成为字符串
$objPHPExcel->getActiveSheet()->getStyle('A4')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);
//设置单元格文本格式
$objPHPExcel->getActiveSheet()->getStyle('A4')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
//复制单元格'A4'格式到'A5:E13'
$objPHPExcel->getActiveSheet()->duplicateStyle( $objPHPExcel->getActiveSheet()->getStyle('A4'), 'A5:E13' );

//单元格内换行
    $objPHPExcel->getActiveSheet()->setCellValue('A1', "合肥市多快好省\n束带结发");
    //加“/n”换行后加下面设置
    $objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setWrapText(true);
//设置默认行高
$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(50);
// 设置行高
$objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(50);
设置宽width
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(12);

设置字体
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setName('Candara');//设置字体类型,可在excel里查看字体名称
$objPHPExcel->getActiveSheet()->getStyle('B2')->getFont()->setSize(20);//字体大小
$objPHPExcel->getActiveSheet()->getStyle('B2')->getFont()->setBold(true);//字体加粗
$objPHPExcel->getActiveSheet()->getStyle('B2')->getFont()->setUnderline(true);//下划线
$objPHPExcel->getActiveSheet()->getStyle('B2')->getFont()->getColor()->setARGB('00FF3030');//字体颜色
设置水平居中
$objPHPExcel->getActiveSheet()->getStyle('D12')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle('D13')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
$objPHPExcel->getActiveSheet()->getStyle('A18')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
//垂直居中
$objPHPExcel->getActiveSheet()->getStyle('A18')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
//所有单元格居中:
$objPHPExcel->getDefaultStyle()->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getDefaultStyle()->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
设置column的border
$objPHPExcel->getActiveSheet()->getStyle('A4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
设置border的color,例子:#FF3030 要改为00FF3030
$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');
//设置填充颜色,例子:#FF3030 要改为00FF3030
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->getStartColor()->setARGB('00FF3030');
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFill()->getStartColor()->setARGB('FF808080');
加图片
$objDrawing = new PHPExcel_Worksheet_Drawing();
$objDrawing->setName('Logo');
$objDrawing->setDescription('Logo');
$objDrawing->setPath('./images/officelogo.jpg');
$objDrawing->setHeight(36);
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
$objDrawing = new PHPExcel_Worksheet_Drawing();
$objDrawing->setName('Paid');
$objDrawing->setDescription('Paid');
$objDrawing->setPath('./images/paid.png');
$objDrawing->setCoordinates('B15');
$objDrawing->setOffsetX(110);
$objDrawing->setRotation(25);
$objDrawing->getShadow()->setVisible(true);
$objDrawing->getShadow()->setDirection(45);
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());

//将gbk转为utf-8
$str = iconv('gb2312', 'utf-8', $str);
//将utf-8转为gbk
$str = iconv('UTF-8','GB2312//IGNORE',$str);


//读excel
include 'PHPExcel/Reader/Excel2007.php';
//$objReader = new PHPExcel_Reader_Excel2007;
$objReader = new \PHPExcel_Reader_Excel5;
$objPHPExcel = $objReader->load("test.xls");

//获取公式本身
$objPHPExcel->getActiveSheet()->getCell("A1")->getValue();
//获取公式的值
$objPHPExcel->getActiveSheet()->getCell("A1")->getCalculatedValue();
//获取公式的值
$objPHPExcel->getActiveSheet()->getCell("A1")->getFormattedValue();

laravel_excel:https://docs.laravel-excel.com/2.1/getting-started/ 

发布了7 篇原创文章 · 获赞 1 · 访问量 879

猜你喜欢

转载自blog.csdn.net/sll9711/article/details/99677855