久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

thinkPHP+phpexcel實(shí)現(xiàn)excel報(bào)表輸出功能示例

這篇文章主要介紹了thinkPHP+phpexcel實(shí)現(xiàn)excel報(bào)表輸出功能,結(jié)合具體實(shí)例形式分析了thinkPHP整合PHPExcel實(shí)現(xiàn)針對(duì)Excel文件相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了thinkPHP+phpexcel實(shí)現(xiàn)excel報(bào)表輸出功能。分享給大家供大家參考,具體如下:

準(zhǔn)備工作:

1.下載phpexcel1.7.6類包;

2.解壓至TP框架的ThinkPHP\Vendor目錄下,改類包文件夾名為PHPExcel176,目錄結(jié)構(gòu)如下圖;

thinkPHP+phpexcel實(shí)現(xiàn)excel報(bào)表輸出功能示例

編寫代碼(以一個(gè)訂單匯總數(shù)據(jù)為例):

  1. 創(chuàng)建數(shù)據(jù)庫及表;
  2. 創(chuàng)建tp項(xiàng)目,配置項(xiàng)目的數(shù)據(jù)庫連接,這些基本的就不說了;
  3. 在項(xiàng)目的Lib\Action下創(chuàng)建一個(gè)新的類文件ExportStatisticsAction.class.php,然后在  index方法中實(shí)現(xiàn)excel導(dǎo)出;
  4. 導(dǎo)出方法的步驟:
    ①查詢數(shù)據(jù)
    ②導(dǎo)入phpexcel類庫
    ③創(chuàng)建excel對(duì)象并設(shè)置excel對(duì)象的屬性
    ④設(shè)置excel的行列樣式(字體、高寬、顏色、邊框、合并等)
    ⑤繪制報(bào)表表頭
    ⑥將查詢數(shù)據(jù)寫入excel
    ⑦設(shè)置excel的sheet的名稱
    ⑧設(shè)置excel報(bào)表打開后初始的sheet
    ⑨設(shè)置輸出的excel的頭參數(shù)及文件名
    ⑩調(diào)用創(chuàng)建excel的方法生成excel文件

代碼如下:

<?php
/**
 * Created by lonm.shi.
 * Date: 2012-02-09
 * Time: 下午4:54
 * To change this template use File | Settings | File Templates.
 */
class ExportStatisticsAction extends Action {
  public function index(){
    $model= D("OrdersView");
    $OrdersData= $model->select(); //查詢數(shù)據(jù)得到$OrdersData二維數(shù)組
    vendor("PHPExcel176.PHPExcel");
    // Create new PHPExcel object
    $objPHPExcel = new PHPExcel();
    // Set properties
    $objPHPExcel->getProperties()->setCreator("ctos")
      ->setLastModifiedBy("ctos")
      ->setTitle("Office 2007 XLSX Test Document")
      ->setSubject("Office 2007 XLSX Test Document")
      ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
      ->setKeywords("office 2007 openxml php")
      ->setCategory("Test result file");
    //set width
    $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(8);
    $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(10);
    $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(25);
    $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(12);
    $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(50);
    $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(10);
    $objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(12);
    $objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(12);
    $objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(12);
    $objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(30);
    //設(shè)置行高度
    $objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(22);
    $objPHPExcel->getActiveSheet()->getRowDimension('2')->setRowHeight(20);
    //set font size bold
    $objPHPExcel->getActiveSheet()->getDefaultStyle()->getFont()->setSize(10);
    $objPHPExcel->getActiveSheet()->getStyle('A2:J2')->getFont()->setBold(true);
    $objPHPExcel->getActiveSheet()->getStyle('A2:J2')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
    $objPHPExcel->getActiveSheet()->getStyle('A2:J2')->getBorders()->getAllBorders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
    //設(shè)置水平居中
    $objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
    $objPHPExcel->getActiveSheet()->getStyle('A')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
    $objPHPExcel->getActiveSheet()->getStyle('B')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
    $objPHPExcel->getActiveSheet()->getStyle('D')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
    $objPHPExcel->getActiveSheet()->getStyle('F')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
    $objPHPExcel->getActiveSheet()->getStyle('G')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
    $objPHPExcel->getActiveSheet()->getStyle('H')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
    $objPHPExcel->getActiveSheet()->getStyle('I')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
    //合并cell
    $objPHPExcel->getActiveSheet()->mergeCells('A1:J1');
    // set table header content
    $objPHPExcel->setActiveSheetIndex(0)
      ->setCellValue('A1', '訂單數(shù)據(jù)匯總 時(shí)間:'.date('Y-m-d H:i:s'))
      ->setCellValue('A2', '訂單ID')
      ->setCellValue('B2', '下單人')
      ->setCellValue('C2', '客戶名稱')
      ->setCellValue('D2', '下單時(shí)間')
      ->setCellValue('E2', '需求機(jī)型')
      ->setCellValue('F2', '需求數(shù)量')
      ->setCellValue('G2', '需求交期')
      ->setCellValue('H2', '確認(rèn)BOM料號(hào)')
      ->setCellValue('I2', 'PMC確認(rèn)交期')
      ->setCellValue('J2', 'PMC交貨備注');
    // Miscellaneous glyphs, UTF-8
    for($i=0;$i<count($OrdersData)-1;$i++){
      $objPHPExcel->getActiveSheet(0)->setCellValue('A'.($i+3), $OrdersData[$i]['id']);
      $objPHPExcel->getActiveSheet(0)->setCellValue('B'.($i+3), $OrdersData[$i]['realname']);
      $objPHPExcel->getActiveSheet(0)->setCellValue('C'.($i+3), $OrdersData[$i]['customer_name']);
      $objPHPExcel->getActiveSheet(0)->setCellValue('D'.($i+3), toDate($OrdersData[$i]['create_time'])); //這里調(diào)用了common.php的時(shí)間戳轉(zhuǎn)換函數(shù)
      $objPHPExcel->getActiveSheet(0)->setCellValue('E'.($i+3), $OrdersData[$i]['require_product']);
      $objPHPExcel->getActiveSheet(0)->setCellValue('F'.($i+3), $OrdersData[$i]['require_count']);
      $objPHPExcel->getActiveSheet(0)->setCellValue('G'.($i+3), $OrdersData[$i]['require_time']);
      $objPHPExcel->getActiveSheet(0)->setCellValue('H'.($i+3), $OrdersData[$i]['product_bom_encoding']);
      $objPHPExcel->getActiveSheet(0)->setCellValue('I'.($i+3), $OrdersData[$i]['delivery_time']);
      $objPHPExcel->getActiveSheet(0)->setCellValue('J'.($i+3), $OrdersData[$i]['delivery_memo']);
      $objPHPExcel->getActiveSheet()->getStyle('A'.($i+3).':J'.($i+3))->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
      $objPHPExcel->getActiveSheet()->getStyle('A'.($i+3).':J'.($i+3))->getBorders()->getAllBorders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
      $objPHPExcel->getActiveSheet()->getRowDimension($i+3)->setRowHeight(16);
    }
    // sheet命名
    $objPHPExcel->getActiveSheet()->setTitle('訂單匯總表');
    // Set active sheet index to the first sheet, so Excel opens this as the first sheet
    $objPHPExcel->setActiveSheetIndex(0);
    // excel頭參數(shù)
    header('Content-Type: application/vnd.ms-excel');
    header('Content-Disposition: attachment;filename="訂單匯總表('.date('Ymd-His').').xls"'); //日期為文件名后綴
    header('Cache-Control: max-age=0');
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); //excel5為xls格式,excel2007為xlsx格式
    $objWriter->save('php://output');
  }
}

【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過測試外,其他素材未做測試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請(qǐng)勿用于商業(yè)用途。如損害你的權(quán)益請(qǐng)聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

下面小編就為大家分享一篇ThinkPHP整合datatables實(shí)現(xiàn)服務(wù)端分頁的示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇thinkphp3.2.0 setInc方法 源碼全面解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
這篇文章主要介紹了tp5(thinkPHP5)操作mongoDB數(shù)據(jù)庫的方法,結(jié)合實(shí)例形式簡單分析了mongoDB數(shù)據(jù)庫及thinkPHP5連接、查詢MongoDB數(shù)據(jù)庫的基本操作技巧,需要的朋友可以參考下
thinkphp官網(wǎng)在去年的時(shí)候發(fā)布了tp的顛覆版本thinkphp5,tp5確實(shí)比之前的版本好用了很多,那么下面這篇文章就來給大家介紹關(guān)于在云虛擬主機(jī)部署thinkphp5項(xiàng)目的相關(guān)資料,需要的朋友可以
這篇文章主要介紹了Thinkphp5行為使用方法匯總,需要的朋友可以參考下
這篇文章主要介紹了thinkphp5 加載靜態(tài)資源路徑與常量的方法的相關(guān)資料,需要的朋友可以參考下
主站蜘蛛池模板: 我要看一级片 | 国产精品一区在线 | 91免费版在线观看 | av中文字幕在线观看 | 天天操网 | 午夜小电影 | 日韩中文字幕在线视频 | 亚洲一区在线日韩在线深爱 | 欧美综合在线视频 | 波多野结衣在线观看一区二区三区 | 亚洲最大福利网 | 美女毛片免费看 | 国产日韩av一区二区 | 一级免费毛片 | 一区二区三区亚洲视频 | 欧美午夜在线 | 国产精品久久国产精品99 gif | 欧美一区二区三区视频 | 网站一区二区三区 | 久久亚洲经典 | a黄视频 | 中文字幕亚洲区一区二 | 欧美精品一区二区三区蜜桃视频 | 成人影| 亚洲欧美一区二区三区1000 | 一级黄色夫妻生活 | 亚洲国产精品久久久久婷婷老年 | www.亚洲国产精品 | 97人人澡人人爽91综合色 | 久久精品国产久精国产 | 91亚洲精华国产 | 99热热热热 | 亚洲精品久久久一区二区三区 | 国产精品一卡二卡三卡 | 国产精品久久久久婷婷二区次 | 黄片毛片 | 九九导航| 欧美亚州综合 | 伊人二区 | 色婷婷av一区二区三区软件 | 狠狠亚洲 |