phpExcel常用方法

来源:互联网 发布:unity3d自动寻路插件 编辑:程序博客网 时间:2024/05/20 16:37
    include ""PHPExcel.php"";      include ""PHPExcel/Writer/Excel2007.php"";      //或者include ""PHPExcel/Writer/Excel5.php""; 用于输出.xls的      创建一个excel      $objPHPExcel = new PHPExcel();            保存excel—2007格局      $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);      //或者$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); 非2007格局      $objWriter->save("xxx.xlsx");      直接输出到浏览器      $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"");            ——————————————————————————————————————–            phpExcel中文手册      设置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->setActiveSheetIndex(0);            设置sheet的name      $objPHPExcel->getActiveSheet()->setTitle(""Simple"");            设置单位格的值      $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      $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      echo date(""H:i:s"") . " Set cell number formats\n";      $objPHPExcel->getActiveSheet()->getStyle(""E4"")->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE);      $objPHPExcel->getActiveSheet()->duplicateStyle( $objPHPExcel->getActiveSheet()->getStyle(""E4""), ""E5:E13"" );            设置宽width      // Set column widths      $objPHPExcel->getActiveSheet()->getColumnDimension(""B"")->setAutoSize(true);      $objPHPExcel->getActiveSheet()->getColumnDimension(""D"")->setWidth(12);            设置font      $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);      $objPHPExcel->getActiveSheet()->getStyle(""E1"")->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);      $objPHPExcel->getActiveSheet()->getStyle(""D13"")->getFont()->setBold(true);      $objPHPExcel->getActiveSheet()->getStyle(""E13"")->getFont()->setBold(true);            设置align      $objPHPExcel->getActiveSheet()->getStyle(""D11"")->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);      $objPHPExcel->getActiveSheet()->getStyle(""D12"")->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);      $objPHPExcel->getActiveSheet()->getStyle(""D13"")->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);            设置column的border      $objPHPExcel->getActiveSheet()->getStyle(""A4"")->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);      $objPHPExcel->getActiveSheet()->getStyle(""B4"")->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);      $objPHPExcel->getActiveSheet()->getStyle(""C4"")->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);      $objPHPExcel->getActiveSheet()->getStyle(""D4"")->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);      $objPHPExcel->getActiveSheet()->getStyle(""E4"")->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);            设置border的color      $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()->getTop()->getColor()->setARGB(""FF993300"");      $objPHPExcel->getActiveSheet()->getStyle(""E13"")->getBorders()->getBottom()->getColor()->setARGB(""FF993300"");      $objPHPExcel->getActiveSheet()->getStyle(""E13"")->getBorders()->getRight()->getColor()->setARGB(""FF993300"");            设置填充色彩      $objPHPExcel->getActiveSheet()->getStyle(""A1"")->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);      $objPHPExcel->getActiveSheet()->getStyle(""A1"")->getFill()->getStartColor()->setARGB(""FF808080"");      $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());            //处理惩罚中文输出题目            须要将字符串转化为UTF-8编码,才干正常输出,不然中文字符将输出为空白,如下处理惩罚:             $str  = iconv(""gb2312"", ""utf-8"", $str);            或者你可以写一个函数专门处理惩罚中文字符串:            function convertUTF8($str)      {         if(empty($str)) return """";         return  iconv(""gb2312"", ""utf-8"", $str);      }            //从数据库输出数据处理惩罚体式格式            从数据库读取数据如:            $db = new Mysql($dbconfig);      $sql = "SELECT * FROM  表名";      $row = $db->GetAll($sql);  // $row 为二维数组            $count = count($row);      for ($i = 2; $i <= $count+1; $i++) {             $objPHPExcel->getActiveSheet()->setCellValue(""A"" . $i, convertUTF8($row[$i-2][1]));       $objPHPExcel->getActiveSheet()->setCellValue(""B"" . $i, convertUTF8($row[$i-2][2]));       $objPHPExcel->getActiveSheet()->setCellValue(""C"" . $i, convertUTF8($row[$i-2][3]));       $objPHPExcel->getActiveSheet()->setCellValue(""D"" . $i, convertUTF8($row[$i-2][4]));       $objPHPExcel->getActiveSheet()->setCellValue(""E"" . $i, convertUTF8(date("Y-m-d", $row[$i-2][5])));       $objPHPExcel->getActiveSheet()->setCellValue(""F"" . $i, convertUTF8($row[$i-2][6]));             $objPHPExcel->getActiveSheet()->setCellValue(""G"" . $i, convertUTF8($row[$i-2][7]));       $objPHPExcel->getActiveSheet()->setCellValue(""H"" . $i, convertUTF8($row[$i-2][8]));            }                         在默认sheet后,创建一个worksheet      echo date(""H:i:s"") . " Create new Worksheet object\n";      $objPHPExcel->createSheet();            $objWriter = PHPExcel_IOFactory::createWriter($objExcel, ""Excel5"");      $objWriter-save(""php://output"");

原创粉丝点击