分享java帶來的快樂

          我喜歡java新東西

          php生成excel

          <?php

          include 'Lib/PhpExcel/PHPExcel.php';
          include 'Lib/PhpExcel/PHPExcel/Writer/Excel5.php';

          // uncomment  
          ////require_once 'PHPExcel/Writer/Excel5.php';    // 用于其他低版本xls  
          // or  
          ////require_once 'PHPExcel/Writer/Excel2007.php'; // 用于 excel-2007 格式  

          // 創(chuàng)建一個(gè)處理對象實(shí)例  
          $objExcel = new PHPExcel();

          // 創(chuàng)建文件格式寫入對象實(shí)例, uncomment  
          $objWriter = new PHPExcel_Writer_Excel5($objExcel);    // 用于其他版本格式  
          // or  
          //$objWriter = new PHPExcel_Writer_Excel2007($objExcel); // 用于 2007 格式  
          //$objWriter->setOffice2003Compatibility(true);  

          //*************************************  
          //設(shè)置文檔基本屬性  
          $objProps = $objExcel->getProperties();
          $objProps->setCreator("Zeal Li");
          $objProps->setLastModifiedBy("Zeal Li");
          $objProps->setTitle("Office XLS Test Document");
          $objProps->setSubject("Office XLS Test Document, Demo");
          $objProps->setDescription("Test document, generated by PHPExcel.");
          $objProps->setKeywords("office excel PHPExcel");
          $objProps->setCategory("Test");

          //*************************************  
          //設(shè)置當(dāng)前的sheet索引,用于后續(xù)的內(nèi)容操作。  
          //一般只有在使用多個(gè)sheet的時(shí)候才需要顯示調(diào)用。  
          //缺省情況下,PHPExcel會(huì)自動(dòng)創(chuàng)建第一個(gè)sheet被設(shè)置SheetIndex=0  
          $objExcel->setActiveSheetIndex(0);

          $objActSheet = $objExcel->getActiveSheet();

          //設(shè)置當(dāng)前活動(dòng)sheet的名稱  
          $objActSheet->setTitle('測試Sheet');

          //*************************************  
          //設(shè)置單元格內(nèi)容  
          //  
          //由PHPExcel根據(jù)傳入內(nèi)容自動(dòng)判斷單元格內(nèi)容類型  
          $objActSheet->setCellValue('A1', '字符串內(nèi)容'); // 字符串內(nèi)容  
          $objActSheet->setCellValue('A2', 26); // 數(shù)值  
          $objActSheet->setCellValue('A3', true); // 布爾值  
          $objActSheet->setCellValue('A4', '=SUM(A2:A2)'); // 公式  

          //顯式指定內(nèi)容類型  
          $objActSheet->setCellValueExplicit('A5', '847475847857487584', PHPExcel_Cell_DataType :: TYPE_STRING);

          //合并單元格  
          $objActSheet->mergeCells('B1:C22');

          //分離單元格  
          $objActSheet->unmergeCells('B1:C22');

          //*************************************  
          //設(shè)置單元格樣式  
          //  

          //設(shè)置寬度  
          $objActSheet->getColumnDimension('B')->setAutoSize(true);
          $objActSheet->getColumnDimension('A')->setWidth(30);

          $objStyleA5 = $objActSheet->getStyle('A5');

          //設(shè)置單元格內(nèi)容的數(shù)字格式。  
          //  
          //如果使用了 PHPExcel_Writer_Excel5 來生成內(nèi)容的話,  
          //這里需要注意,在 PHPExcel_Style_NumberFormat 類的 const 變量定義的  
          //各種自定義格式化方式中,其它類型都可以正常使用,但當(dāng)setFormatCode  
          //為 FORMAT_NUMBER 的時(shí)候,實(shí)際出來的效果被沒有把格式設(shè)置為"0"。需要  
          //修改 PHPExcel_Writer_Excel5_Format 類源代碼中的 getXf($style) 方法,  
          //在 if ($this->_BIFF_version == 0x0500) { (第363行附近)前面增加一  
          //行代碼:   
          //if($ifmt === '0') $ifmt = 1;  
          //  
          //設(shè)置格式為PHPExcel_Style_NumberFormat::FORMAT_NUMBER,避免某些大數(shù)字  
          //被使用科學(xué)記數(shù)方式顯示,配合下面的 setAutoSize 方法可以讓每一行的內(nèi)容  
          //都按原始內(nèi)容全部顯示出來。  
          $objStyleA5->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat :: FORMAT_NUMBER);

          //設(shè)置字體  
          $objFontA5 = $objStyleA5->getFont();
          $objFontA5->setName('Courier New');
          $objFontA5->setSize(10);
          $objFontA5->setBold(true);
          $objFontA5->setUnderline(PHPExcel_Style_Font :: UNDERLINE_SINGLE);
          $objFontA5->getColor()->setARGB('FF999999');

          //設(shè)置對齊方式  
          $objAlignA5 = $objStyleA5->getAlignment();
          $objAlignA5->setHorizontal(PHPExcel_Style_Alignment :: HORIZONTAL_RIGHT);
          $objAlignA5->setVertical(PHPExcel_Style_Alignment :: VERTICAL_CENTER);

          //設(shè)置邊框  
          $objBorderA5 = $objStyleA5->getBorders();
          $objBorderA5->getTop()->setBorderStyle(PHPExcel_Style_Border :: BORDER_THIN);
          $objBorderA5->getTop()->getColor()->setARGB('FFFF0000'); // color  
          $objBorderA5->getBottom()->setBorderStyle(PHPExcel_Style_Border :: BORDER_THIN);
          $objBorderA5->getLeft()->setBorderStyle(PHPExcel_Style_Border :: BORDER_THIN);
          $objBorderA5->getRight()->setBorderStyle(PHPExcel_Style_Border :: BORDER_THIN);

          //設(shè)置填充顏色  
          $objFillA5 = $objStyleA5->getFill();
          $objFillA5->setFillType(PHPExcel_Style_Fill :: FILL_SOLID);
          $objFillA5->getStartColor()->setARGB('FFEEEEEE');

          //從指定的單元格復(fù)制樣式信息.  
          $objActSheet->duplicateStyle($objStyleA5, 'B1:C22');


          //添加一個(gè)新的worksheet  
          $objExcel->createSheet();
          $objExcel->getSheet(1)->setTitle('測試2');

          //保護(hù)單元格  
          $objExcel->getSheet(1)->getProtection()->setSheet(true);
          $objExcel->getSheet(1)->protectCells('A1:C22', 'PHPExcel');

          //*************************************  
          //輸出內(nèi)容  
          //  
          $outputFileName = "output.xls";
          //到文件  
          //$objWriter->save($outputFileName);  
          //or  
          //到瀏覽器  
          header('Content-type:aplication/vnd.ms-excel');
          header("Content-Disposition: attachment; filename=out.xls");
          $objWriter->save('php://output');
          ?>  

          posted on 2011-03-08 17:57 強(qiáng)強(qiáng) 閱讀(395) 評論(0)  編輯  收藏 所屬分類: php

          主站蜘蛛池模板: 和田县| 璧山县| 佳木斯市| 景宁| 措勤县| 滨州市| 水城县| 建德市| 衢州市| 赤城县| 防城港市| 大城县| 密山市| 紫金县| 日土县| 柯坪县| 太白县| 固始县| 龙泉市| 原平市| 金塔县| 鄂伦春自治旗| 永胜县| 岐山县| 甘洛县| 奉贤区| 普洱| 松阳县| 定西市| 进贤县| 外汇| 神农架林区| 交口县| 绥化市| 崇义县| 进贤县| 和林格尔县| 嵊州市| 赣榆县| 兴隆县| 观塘区|