安装扩展之类的就不说了,直接说怎么使用
读取数据
//首先读取文件 一般这样就可以了$obj = PHPExcel_IOFactory::Load($file);//不过有时候会执行到这,卡住运行不下去,可能是在文件里出现了特殊的符号之类的问题,使用下面的$inputFileType = PHPExcel_IOFactory::identify($file);$objReader = PHPExcel_IOFactory::createReader($inputFileType);$objReader->setReadDataOnly(true);$obj = $objReader->Load($file);
//获取表格的数量$Sheetcount = $obj->getSheetCount();//读取表格数据 序号从0开始$Info = $obj->getSheet(1);
//获取单元表的数据行数$rows = $Info->getHighestRow();//获取单元格数据 横纵坐标//getValue 获取值 不是最终展示的值,可能是公式之类,//getFormattedValue 获取的是最终值 string 类型的//getCalculatedValue 获取的是最终值 最终数据的类型$data=$Info->getCell('A' . 1)->getValue();
导入数据
//一开始的操作 啦啦啦一大堆$obj = new \PHPExcel();$obj->getProperties()->setCreator(''); //设置创建者$obj->getProperties()->setLastModifiedBy(''); //设置修改者$obj->getProperties()->setTitle(''); //设置标题$obj->getProperties()->setSubject(''); //设置主题$obj->getProperties()->setDescription(''); //设置描述$obj->getProperties()->setKeywords(''); //设置关键词$obj->getProperties()->setCategory(''); //设置类型
//创建一张工作表//需要需要从0开始,不能跳着来$obj->setActiveSheetIndex(0);//工作表名字$obj->getActiveSheet()->setTitle('第一张表');
//设置数据 也是横纵坐标$obj->getActiveSheet()->setCellValue('A'.'1', $value);//单元格长度 整个A列$obj->getActiveSheet()->getColumnDimension('A')->setWidth(20);//设置边框$border = array( 'borders' => array( 'allborders' => array(//设置全部边框 'style' => \PHPExcel_Style_Border::BORDER_THIN //粗细 ), ), );//初始坐标加最终坐标$obj->getActiveSheet()->getStyle('A1:W20')->applyFromArray($border);//自动换行 初始坐标加最终坐标$obj->getActiveSheet()->getStyle("A1:W1")->getAlignment()->setWrapText(TRUE);$obj->getActiveSheet()->getStyle('A1:W1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);//加粗$obj->getActiveSheet()->getStyle('A1:W1')->getFont()->setBold(true);//填充颜色$obj->getActiveSheet()->getStyle('A1:W1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);$obj->getActiveSheet()->getStyle('A1:W1')->getFill()->getStartColor()->setARGB('87CEFA');
//最后导出数据//清空缓存区,不知道需要不需要ob_clean();//一堆header头 文件名header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');header('Content-Disposition: attachment;filename="' . $file . '.xlsx');header('Cache-Control: max-age=1');//最后$objWriter = \PHPExcel_IOFactory::createWriter($obj, 'Excel2007');$objWriter->save('php://output');exit;//这个是直接下载的,不保存,也可以保存在本地,然后返回地址下载