php 導出 Excel

2021-01-09 會php的豬

前臺頁面的html代碼

<button id="exportExcel">

<i>導出Excel表格</i>

</button>

前臺頁面的js代碼

//導出$('#exportExcel').on('click', function () { var re = confirm("確定要導出全部數據嗎?"); if (re == true) { window.location.href = "{:U('Admin/Super/exportOrderListExcel')}"; //跳到方法 } else { //alert('您取消了'); //取消了 } });

後臺的控制器

/** 導出訂單列表的excel * author tc */ public function exportOrderListExcel(){ //先查詢數據(全部) $orderList = new OrderListService(); $memberList = new MemberService(); $map = ''; $data = $orderList->orderIds($map,'*','created desc'); foreach ($data as $k => $v) { $arrMid[] = $v['mid']; } $arrMid = array_unique($arrMid); //查詢會員名,城市,手機號 $whereUser['id'] = array('in',$arrMid); $userResult = $memberList->getUserList($whereUser,'id,cellphone,nickname,city'); foreach ($userResult as $key => $value) { $userResult[$value['id']] = $value; } foreach ($data as $key => $value) { $data[$key]['nickname'] = $userResult[$value['mid']]['nickname']; $data[$key]['city'] = $userResult[$value['mid']]['city']; $data[$key]['cellphone'] = $userResult[$value['mid']]['cellphone']; } $area = C('ZHONGKAO_AREA'); $pay_status = array(0=>'未支付',2=>'支付成功'); $payment = array(1=>'後臺人工支付',2=>'微信支付',3=>'支付寶支付'); $status = array(0=>'未完成',2=>'已完成'); //開始導出 $list[0] = array('order_id'=>'訂單號','nickname'=>'會員名','cellphone'=> '手機號','city'=> '城市','total'=>'總價','pay_status'=>'支付狀態','payment'=>'支付方式','status'=>'狀態'); $i = 1; foreach ($data as $k=>$v){ $list[$i]['order_id'] = "'".$v['order_id']; //訂單號 $list[$i]['nickname'] = $v['nickname']; //會員名 $list[$i]['cellphone'] = "'".$v['cellphone']; //手機號 $list[$i]['city'] = $area[$v['city']]; //城市 $list[$i]['total'] = $v['total']; //總價 $list[$i]['pay_status'] = $pay_status[$v['pay_status']]; //支付狀態 $list[$i]['payment'] = $payment[$v['payment']]; //支付方式 $list[$i]['status'] = $status[$v['status']]; //狀態 $i++; } exportExcel($list); }

common/function 裡面的一個公共方法

/** excel導出 */ function exportExcel($data,$name='訂單列表') { import('Com.PHPExcel.PHPExcel'); $objPHPExcel = new \PHPExcel(); $objPHPExcel->getProperties()->setCreator("甜甜") ->setLastModifiedBy("甜甜") ->setTitle("數據EXCEL導出") ->setSubject("數據EXCEL導出") ->setDescription("備份數據") ->setKeywords("excel") ->setCategory("result file"); /*以下就是對處理Excel裡的數據, 橫著取數據,主要是這一步,其他基本都不要改*/ foreach($data as $k => $v){ $num=$k+1; $objPHPExcel->setActiveSheetIndex(0) //Excel的第A列,uid是你查出數組的鍵值,下面以此類推 ->setCellValue('A'.$num, $v['order_id']) ->setCellValue('B'.$num, $v['nickname']) ->setCellValue('C'.$num, $v['cellphone']) ->setCellValue('D'.$num, $v['city']) ->setCellValue('E'.$num, $v['total']) ->setCellValue('F'.$num, $v['pay_status']) ->setCellValue('G'.$num, $v['payment']) ->setCellValue('H'.$num, $v['status']); } $objPHPExcel->getActiveSheet()->setTitle('User'); $objPHPExcel->setActiveSheetIndex(0); header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="'.$name.'.xls"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); exit; }

還有一個文件夾和一個文件放在

(一般我們放在vendor裡面,因為是公司項目所以就放在com裡面)

相關焦點

  • python數據分析——pandas導出數據合集
    header:指定列名,默認True即數據導出時包含列名。index:指定行名稱,默認True即數據導出時包含行索引。index_label:指定索引列列標籤,默認None。chunksize:一次性寫入多行,默認None。encoding:出文件中使用的編碼,默認'utf8'。
  • ArcGIS將Excel經緯度數據轉換為shp點數據
    一、操作準備 1.1 軟體 ArcMap10.4.1 1.2 數據 excel數據(全國機場點數據.xls) ★excel數據中要含有經緯度。
  • 如何將Excel坐標複製到天正CAD裡面
    第一章:複製進去後形成一條線:1、首先將全站儀或GPS裡坐標導出成為excel,如圖。將全站儀或GPS坐標導出,編制為excel2、在excel裡面套用公式,=Y坐標&
  • SQL Server數據與Excel表的導入導出
    幾乎所有的資料庫管理者或者是與資料庫打過交道的朋友,幾乎都或多或少的了解並使用過數據導入導出的功能以便完成支持諸如數據合併、歸檔和分析等任務,以及開發應用程式或升級資料庫或伺服器,而這一切的便利都已經被SQL Server中的數據轉換服務(DTS)囊括其中,它提供了一套圖形化工具和可編程對象,以幫助管理員和開發人員和需要進行數據維護的人員解決數據移動問題,
  • 使用 EasyPOI 優雅導出Excel模板數據(含圖片)
    作者 | 星懸月來源 | blog.csdn.net/u012441819/article/details/96828044EasyPOI功能如同名字Easy,主打的功能就是容易,讓一個沒接觸過POI的人員可以方便的寫出Excel導出,Excel模板導出,Excel導入,Word模板導出。
  • excel轉pdf怎麼轉換?教你三種方法完成pdf轉換
    excel轉pdf怎麼轉換?說到excel表格相信很多的小夥伴並不陌生,往往在表格中會存在著大量的數據,為了避免這些數據的篡改,經常會看到許多的小夥伴把excel表格文件轉換為pdf格式的文件。之前還有小夥伴問到excel轉pdf怎麼轉換?
  • 兩個excel表格核對的6種方法
    excel表格之間的核對,是每個excel用戶都要面對的工作難題,今天ostar帶大家一起盤點一下表格核對的方法,一共6種,以後再也不用加班勾數據了。一、使用合併計算核對excel中有一個大家不常用的功能:合併計算。利用它我們可以快速對比出兩個表的差異。例:如下圖所示有兩個表格要對比,一個是庫存表,一個是財務軟體導出的表。
  • PHP實例——PHP創建動態圖像
    首頁 > 語言 > 關鍵詞 > php最新資訊 > 正文 PHP實例——PHP創建動態圖像
  • php基礎大通關——十分鐘了解php基礎知識點之二
    本節我們繼續通過練習題的方式來熟悉php的基礎知識點。1. echo 和 print 有什麼區別?php常用函數3. Joomla 在 PHP 中是什麼? 一套功能豐富的庫 開源 CMS 設計動態頁面的框架 可重用 PHP 組件的框架和分發系統解析:Joomla!
  • Php常見問題總結
    > 然後在php.ini中設置:include_path = "c:/php",並將debug.php放在此文件夾,以後就可以在每個網頁裡包含此文件,查看得到的變量名和值.phpsession_start();session_unset();session_destroy();?> 取消某個session變量在php4.2以上還有BUG.取消某個session變量在php4.2以上還有BUG.
  • polarphp 0.0.1 alpha 發布:全新 PHP 運行時環境
    polarphp 項目介紹polarphp是一個全新的PHP語言的運行時環境,基於目前最新的zend virtual machine進行打造,支持最新的語言規範,同時提供了自己的運行時標準庫 (libpdk)。
  • 世界上最好的語言PHP:OpenCV與計算機視覺已在我掌控之下
    該庫的作者將這些模型導出為 Caffe 並幫助我在 OpenCV 中使用它們。因此,一個示例就是在 PHP 中編寫的用於增加圖標的解析度。waifu2x 庫:https://github.com/nagadomi/waifu2x示例的完整代碼:https://github.com/php-opencv/php-opencv-examples/blob/master/upscale_image_x2_by_dnn_waifu2x.php
  • php中函數禁用繞過的原理與利用
    影響範圍在於bash 1.14 – 4.3關鍵在於:目前的bash腳本是以通過導出環境變量的方式支持自定義函數,也可將自定義的bash函數傳遞給子相關進程。一般函數體內的代碼是不會被執行,但此漏洞會錯誤的將「{}」花括號外的命令進行執行。
  • 懂Excel就能輕鬆入門Python數據分析包pandas(十六):合併數據
    隨著需求複雜度提高,很多時候已經不能用 excel 自帶功能實現了,不過 pandas 中許多概念與 excel 不謀而合案例1公司的銷售系統功能不全,導出數據時只能把各個部門獨立一個Excel文件,此時你需要對整體數據做分析,最好的方式當然是先把各個文件統一匯總起來:注意看,雖然每個表的標題一樣,但是他們的順序可能出現不一致這裡有3個關鍵點:
  • excel隨機數函數是什麼?excel怎樣生成隨機數?
    本篇將介紹excel隨機數函數是什麼?excel怎樣生成隨機數?有興趣的朋友可以了解一下!一、前言excel是我們工作中很常用的一款表格製作工具,它不僅僅只是用來製作表格,它還能對表格中的數據進行處理(比如:運算、排序、篩選等)。excel為數據的處理提供了很多函數,今天小編要介紹的是excel隨機數函數,以及隨機數函數的用法,希望對大家有所幫助!
  • DVBBS php轉換工具使用教程
    數據表前綴$My_Host = "localhost";               // Dvbbs.php 資料庫伺服器$My_User = "root";                    // Dvbbs.php 資料庫登錄會員$My_Password = "123456";              // Dvbbs.php 資料庫登錄密碼
  • PHP 框架 QueryPHP 1.0.3 發布,兼容 PHP 8.0 和 PHP 8.1
    路由系統 (框架提供 MVC 自動路由並能夠智能解析 Restful 請求和基於 OpenApi 3.0 規範的 swagger-php 註解路由,文檔路由一步搞定。)composer create-project hunzhiwange/queryphp myappphp leevel server &
  • 怎麼理解php中的數組?php的數組創建和使用方法是什麼?
    php數組的定義數組就是值類型相同的變量的集合,在PHP中的一種常用的複合數據類型,數據可以存放很多的數據,可以存儲任何類型的數據。我們可以把變量當做一個包含值得盒子,那麼可以把數組當做當成一個帶有隔層的盒子,每一層都可以存放一個值。
  • php知識大通關——常見函數功能
    接上節內容,仍然以習題的方式講解php常見函數及功能!php常見函數1、在php中,下面哪個方法使用 PHP 連接 MySQL 資料庫?2、在php中,下面哪個函數用於在 PHP 中獲取環境變量? search() environment() env() getenv()解析:PHP 中提供了一個 getenv() 函數來訪問所有環境變量的值。3、下面哪個異常處理類方法在發生錯誤時檢索錯誤消息?
  • excel折線圖怎麼自定x軸y軸 Excel折線圖教程
    excel折線圖自定x軸y軸?excel表格是我們很多人在處理數據的時候經常會用到的,可以結合一些直觀的圖來處理我們的數據。那麼大家知道excel折線圖自定x軸y軸嗎?相信還有很多用戶還不是很清楚,下面就快和小編一起看看吧!