分享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 格式  

          // 創建一個處理對象實例  
          $objExcel = new PHPExcel();

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

          //*************************************  
          //設置文檔基本屬性  
          $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");

          //*************************************  
          //設置當前的sheet索引,用于后續的內容操作。  
          //一般只有在使用多個sheet的時候才需要顯示調用。  
          //缺省情況下,PHPExcel會自動創建第一個sheet被設置SheetIndex=0  
          $objExcel->setActiveSheetIndex(0);

          $objActSheet = $objExcel->getActiveSheet();

          //設置當前活動sheet的名稱  
          $objActSheet->setTitle('測試Sheet');

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

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

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

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

          //*************************************  
          //設置單元格樣式  
          //  

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

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

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

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

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

          //設置邊框  
          $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);

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

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


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

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

          //*************************************  
          //輸出內容  
          //  
          $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 強強 閱讀(395) 評論(0)  編輯  收藏 所屬分類: php

          主站蜘蛛池模板: 仲巴县| 濮阳县| 镇雄县| 永城市| 肥乡县| 化德县| 南汇区| 建宁县| 司法| 车险| 芦山县| 茶陵县| 涡阳县| 讷河市| 文安县| 丹巴县| 东乡县| 榆中县| 莒南县| 区。| 陵川县| 芜湖县| 永平县| 唐海县| 绩溪县| 抚州市| 武城县| 呈贡县| 永寿县| 杭锦后旗| 上虞市| 鱼台县| 沙坪坝区| 同心县| 剑阁县| 汝南县| 绩溪县| 宝坻区| 渭源县| 黎平县| 平阴县|