国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHPEXCEL的用法與簡介

2024-05-04 21:49:20
字體:
來源:轉載
供稿:網友

PHPEXCEL是一個用來生成excel的php插件,他可以很方便的對excel數據進行操作,如:生成excel,修改excel數據等等.

一、PHPEXCEL簡介

PHPEXCEL提供了一系列的API,能夠解析與生成excel,pdf之類的文檔.

PHPEXCEL雖然強大,不過使用起來相對有些繁鎖,如果需要輸出較為復雜格式時,是一個不錯的選擇,可以到官方下載到源碼.

二、PHPEXCEL部分函數

設置當前的工作簿,返回該工作簿對象:

$excelSheet = $excel->setActiveSheetIndex(0);

合并單元格,返回該單元格對象,以下示例即合并A列第一行與第二行所在單元格:

$excelSheet->mergeCells('A1:A2');

設置單元格的值,參數:單元格名稱,值:

  1. $excelSheet->setCellValue('A1''字符串內容'); 
  2. $excelSheet->setCellValue('A2', 26); //數值  
  3. $excelSheet->setCellValue('A3', true); //布爾值  
  4. $excelSheet->setCellValue('A4''=SUM(A2:A2)'); //公式 

phpexcel用法介紹,代碼如下:

  1. include ‘PHPExcel.php’; 
  2.   include ‘PHPExcel/Writer/Excel2007.php’; 
  3.   //或者include ‘PHPExcel/Writer/Excel5.php’; 用于輸出.xls的 
  4.   創建一個excel 
  5.   $objPHPExcel = new PHPExcel(); 
  6.   保存excel—2007格式 
  7.   $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); 
  8.   //或者$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); 非2007格式 
  9.   $objWriter->save(”xxx.xlsx”); 
  10.   直接輸出到瀏覽器 
  11.   $objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); 
  12.   header(”Pragma: public”); 
  13.   header(”Expires: 0″); 
  14.   header(”Cache-Control:must-revalidate, post-check=0, pre-check=0″); 
  15.   header(”Content-Type:application/force-download”); 
  16.   header(”Content-Type:application/vnd.ms-execl”); 
  17.   header(”Content-Type:application/octet-stream”); 
  18.   header(”Content-Type:application/download”);; 
  19.   header(’Content-Disposition:attachment;filename=”resume.xls”‘); 
  20.   header(”Content-Transfer-Encoding:binary”); 
  21.   $objWriter->save(’php://output’); 
  22.    
  23. ——————————————————————————————————————– 
  24.   設置excel的屬性: 
  25.    
  26.  代碼如下 復制代碼 
  27. 創建人 
  28.   $objPHPExcel->getProperties()->setCreator(”Maarten Balliauw”); 
  29.   最后修改人 
  30.   $objPHPExcel->getProperties()->setLastModifiedBy(”Maarten Balliauw”); 
  31.   標題 
  32.   $objPHPExcel->getProperties()->setTitle(”Office 2007 XLSX Test Document”); 
  33.   題目 
  34.   $objPHPExcel->getProperties()->setSubject(”Office 2007 XLSX Test Document”); 
  35.   描述 
  36.   $objPHPExcel->getProperties()->setDescription(”Test document for Office 2007 XLSX, generated using PHP classes.”); 
  37.   關鍵字 
  38.   $objPHPExcel->getProperties()->setKeywords(”office 2007 openxml php”); 
  39.   種類 
  40.   $objPHPExcel->getProperties()->setCategory(”Test result file”); 
  41.   ——————————————————————————————————————– 
  42.   設置當前的sheet 
  43.   $objPHPExcel->setActiveSheetIndex(0); 
  44.   設置sheet的name 
  45.   $objPHPExcel->getActiveSheet()->setTitle(’Simple’); 
  46.   設置單元格的值 
  47.   $objPHPExcel->getActiveSheet()->setCellValue(’A1′, ‘String’); 
  48.   $objPHPExcel->getActiveSheet()->setCellValue(’A2′, 12); 
  49.   $objPHPExcel->getActiveSheet()->setCellValue(’A3′, true); 
  50.   $objPHPExcel->getActiveSheet()->setCellValue(’C5′, ‘=SUM(C2:C4)’); 
  51.   $objPHPExcel->getActiveSheet()->setCellValue(’B8′, ‘=MIN(B2:C5)’); 
  52.   合并單元格 
  53.   $objPHPExcel->getActiveSheet()->mergeCells(’A18:E22′); 
  54.   分離單元格 
  55.   $objPHPExcel->getActiveSheet()->unmergeCells(’A28:B28′); 

三、PHPEXCEL舉例應用

整個代碼如下,值得注意的是表頭用了$orderCellData記錄了每個商戶編號的順序,為了在表體把對應的數據取出,代碼如下:

  1. require_once '../../../libs/PHPExcel/Classes/PHPExcel.php'
  2.     require_once '../../../libs/PHPExcel/Classes/PHPExcel/Writer/Excel5.php'
  3.     include_once '../../../libs/PHPExcel/Classes/PHPExcel/IOFactory.php'
  4.     include '../common/config.php'
  5.     // 創建一個處理對象實例(此對象對于2003 2007是相同的) 
  6.     $objExcel = new PHPExcel(); 
  7.     
  8.     //設置屬性(這段代碼無關緊要,其中的內容可以替換為你需要的) 
  9.     $objExcel->getProperties()->setCreator("office 2003 excel"); 
  10.     $objExcel->getProperties()->setLastModifiedBy("office 2003 excel"); 
  11.     $objExcel->getProperties()->setTitle("Office 2003 XLS Test Document"); 
  12.     $objExcel->getProperties()->setSubject("Office 2003 XLS Test Document"); 
  13.     $objExcel->getProperties()->setDescription("Test document for Office 2003 XLS, generated using PHP classes."); 
  14.     $objExcel->getProperties()->setKeywords("office 2003 openxml php"); 
  15.     $objExcel->getProperties()->setCategory("Test result file"); 
  16.     
  17.     //開始處理數據(索引從0開始) 
  18.     $objExcel->setActiveSheetIndex(0); 
  19.  
  20.     $conn = mssql_connect($config['mssql']['host'],$config['mssql']['user'],$config['mssql']['password']); 
  21.     mssql_select_db($config['mssql']['dbname'],$conn); 
  22.     
  23.     $tm=$_REQUEST['tm']; 
  24.     
  25.     $sql = "exec HNow05_getTTSpace '','".$tm."','',1"
  26.     $sql=mb_convert_encoding($sql,'GBK','UTF-8'); 
  27.     $res=mssql_query($sql); 
  28.  
  29.     $i=0; 
  30.     $k = array('站碼','站名','河系','來報時間','水位','水勢'); 
  31.     $count = count($k); 
  32.     $arrs = array('A','B','C','D','E','F'); 
  33.     //添加表頭 
  34.     for($i=0;$i<$count;$i++){ 
  35.        $objExcel->getActiveSheet()->setCellValue($arrs[$i]."1""$k[$i]"); 
  36.        
  37.     } 
  38.     
  39.     /*--------從數據庫讀取數據-------*/ 
  40.     $i=0; 
  41.     while($arr=mssql_fetch_array($res)) 
  42.     { 
  43.        $stcd = $arr["STCD"]; 
  44.        $stnm = $arr["STNM"]; 
  45.        $rvnm = $arr["RVNM"]; 
  46.        $tm$arr["TM"]; 
  47.        $tdz$arr["TDZ"]; 
  48.         $tdptn$arr["TDPTN"]; 
  49.        if($tdptn=='6'){ 
  50.            $tdptn='平'
  51.        }else if($tdptn=='5'){ 
  52.            $tdptn='漲'
  53.        }else if($tdptn=='4'){ 
  54.            $tdptn='落'
  55.        } 
  56.  
  57.        $u1=$i+2; 
  58.        $stnm=iconv("GBK","utf-8",$stnm); 
  59.        $rvnm=iconv("GBK","utf-8",$rvnm); 
  60.        $tm=iconv("GBK","utf-8",$tm); 
  61.  
  62.        /*----------寫入內容-------------*/ 
  63.        $objExcel->getActiveSheet()->setCellValue('a'.$u1"$stcd"); 
  64.        $objExcel->getActiveSheet()->setCellValue('b'.$u1"$stnm"); 
  65.        $objExcel->getActiveSheet()->setCellValue('c'.$u1"$rvnm"); 
  66.        $objExcel->getActiveSheet()->setCellValue('d'.$u1"$tm"); 
  67.        $objExcel->getActiveSheet()->setCellValue('e'.$u1"$tdz"); 
  68.        $objExcel->getActiveSheet()->setCellValue('f'.$u1"$tdptn"); 
  69.  
  70.        $i++; 
  71.     } 
  72.  
  73.     /*----------設置單元格邊框和顏色-------------*/ 
  74.     $rows = mssql_num_rows($res); 
  75.     for($i=0;$i<($rows+1);$i++){ 
  76.        for($j=0;$j<$count;$j++){ 
  77.            $a = $i+1; 
  78.            $objExcel->getActiveSheet()->getStyle($arrs[$j].$a)->getBorders()->getAllBorders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); 
  79.            $objExcel->getActiveSheet()->getStyle($arrs[$j].$a)->getBorders()->getAllBorders()->getColor()->setARGB('FF00BBcc'); 
  80.            //水平居中 
  81.            $objExcel->getActiveSheet()->getStyle($arrs[$j].$a)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); 
  82.        } 
  83.     } 
  84.  
  85.     // 高置列的寬度 
  86.     $objExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10); 
  87.     $objExcel->getActiveSheet()->getColumnDimension('B')->setWidth(15); 
  88.     $objExcel->getActiveSheet()->getColumnDimension('C')->setWidth(15); 
  89.     $objExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20); 
  90.     $objExcel->getActiveSheet()->getColumnDimension('E')->setWidth(10); 
  91.     $objExcel->getActiveSheet()->getColumnDimension('F')->setWidth(10); 
  92.     
  93.     // 設置頁眉和頁腳。如果沒有不同的標題奇數/即使是使用單頭假定. 
  94.     $objExcel->getActiveSheet()->getHeaderFooter()->setOddHeader('&L&BPersonal cash register&RPrinted on &D'); 
  95.     $objExcel->getActiveSheet()->getHeaderFooter()->setOddFooter('&L&B' . $objExcel->getProperties()->getTitle() . '&RPage &P of &N'); 
  96.     
  97.     // 設置頁方向和規模 
  98.     $objExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_PORTRAIT); 
  99.     $objExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4); 
  100.     
  101.     // 重命名表 
  102.     $objExcel->getActiveSheet()->setTitle('實時潮汐情況'); 
  103.     
  104.     // Set active sheet index to the first sheet, so Excel opens this as the first sheet 
  105.     $objExcel->setActiveSheetIndex(0); 
  106.      //開源代碼Vevb.com 
  107.     // Redirect output to a client’s web browser (Excel5)保存為excel2003格式 
  108.     //設置Excel的名字 
  109.     $excelName = '實時潮汐情況('.$tm.')'
  110.     //$excelName = 'Excel_'.date("YmdHis"); 
  111.     header('Content-Type: application/vnd.ms-excel'); 
  112.     header('Cache-Control: max-age=0'); 
  113.     header( 'Content-Disposition: attachment; filename='.iconv("utf-8""GBK"$excelName).'.xls'); 
  114.     $objWriter = PHPExcel_IOFactory::createWriter($objExcel'Excel5'); 
  115.     $objWriter->save('php://output'); 
  116.  
  117.     exit;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安新县| 台南县| 柳林县| 达日县| 琼结县| 黑河市| 元朗区| 恭城| 定陶县| 竹溪县| 辰溪县| 新建县| 丹棱县| 康定县| 洪湖市| 新竹市| 绵竹市| 灵璧县| 油尖旺区| 长岛县| 连南| 泰兴市| 万山特区| 景谷| 曲阳县| 明水县| 南召县| 岚皋县| 宣武区| 遂昌县| 肇州县| 寻乌县| 龙泉市| 哈巴河县| 中阳县| 增城市| 房产| 连城县| 普兰县| 苍南县| 桐乡市|