分享java帶來(lái)的快樂

          我喜歡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è)處理對(duì)象實(shí)例  
          $objExcel = new PHPExcel();

          // 創(chuàng)建文件格式寫入對(duì)象實(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('測(cè)試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 來(lái)生成內(nèi)容的話,  
          //這里需要注意,在 PHPExcel_Style_NumberFormat 類的 const 變量定義的  
          //各種自定義格式化方式中,其它類型都可以正常使用,但當(dāng)setFormatCode  
          //為 FORMAT_NUMBER 的時(shí)候,實(shí)際出來(lái)的效果被沒有把格式設(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)容全部顯示出來(lá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è)置對(duì)齊方式  
          $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('測(cè)試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) 閱讀(403) 評(píng)論(0)  編輯  收藏 所屬分類: php

          主站蜘蛛池模板: 三都| 曲麻莱县| 开阳县| 治多县| 监利县| 五家渠市| 崇阳县| 无极县| 扎囊县| 牡丹江市| 宝丰县| 同江市| 崇义县| 高邮市| 章丘市| 金溪县| 郑州市| 达拉特旗| 宁国市| 五台县| 海原县| 威远县| 龙口市| 明星| 江孜县| 青阳县| 剑阁县| 谷城县| 西城区| 松阳县| 堆龙德庆县| 平顶山市| 乐清市| 瑞昌市| 阳信县| 前郭尔| 胶州市| 盐城市| 余江县| 浦东新区| 衡南县|