摘要:我發現最近的項目需要導出表的頁面非常的多,想來這個也是我們常用的功能了,現在我可以很熟練的導出了,但是記得當時自己第一次導出時還是繞了一些彎路的,那么現在我就來記錄下我這次用框架項目下的導出其實在不同的框架下的導出原理都是差不多的前端導出導
我發現最近的項目需要導出Excel表的頁面非常的多,想來這個也是我們常用的功能了,現在我可以很熟練的導出了,但是記得當時自己第一次導出時還是繞了一些彎路的,那么現在我就來記錄下我這次用exshop框架項目下的導出(其實在不同的框架下Excel的導出原理都是差不多的)
前端
導出
控制器
// 導出數據 public function export() { $result = $this->_oaOrderModel->getAllOrderListForManager($this->store_id, $orderSn=null, $buyer_id=null, $buyer_name=null, $consignee=null, $phone=null, $company_name=null, $status=null, $s_time=null, $e_time=null, $page=null, $listRows=null, $execl=true); //這個是獲得數據的代碼-model里 $orderList = $result["orderList"]; if (!empty($orderList)) { $j = 1; $stmt = array(); foreach ($orderList as $val) { $stmt[$j]["網站ID"] = $val["store_id"]; $stmt[$j]["訂單信息"] = $val["order_sn"]; $stmt[$j]["商品信息"] = $val["inventory_sn_count_chinese"]; $stmt[$j]["工藝選擇"] = $val["craft_count_chinese"]; $stmt[$j]["商品總數量"] = $val["real_goods_total_count"]; $stmt[$j]["提交日期"] = date("Y-m-d H:i:s",$val["add_time"]); $stmt[$j]["客戶名稱"] = $val["company_name"]; $stmt[$j]["聯系人"] = $val["consignee"]; $stmt[$j]["聯系方式"] = $val["phone_mob"]; $stmt[$j]["訂單完成率"] = $val["percentage_complete"]; $stmt[$j]["訂單狀態"] = $val["statusChinese"]; $j++; } $current_path = dirname(__FILE__); $home_path = dirname($current_path); require_once ROOT_PATH . "/includes/libraries/PHPExcel.php"; require_once ROOT_PATH . "/includes/libraries/PHPExcel/IOFactory.php"; $objPHPExcel = new PHPExcel(); //這個方法自己下載放到公共方法里 $objPHPExcel->getProperties()->setCreator("Maarten Balliauw") ->setLastModifiedBy("Maarten Balliauw") ->setTitle("Office 2007 XLSX Test Document") ->setSubject("Office 2007 XLSX Test Document") ->setDescription("Document for Office 2007 XLSX, generated using PHP classes.") ->setKeywords("office 2007 openxml php") ->setCategory("Test result file"); // 行高 for ($i = 2; $i <= count($stmt); $i++) { $objPHPExcel->getActiveSheet()->getRowDimension($i)->setRowHeight(22); } foreach ($stmt as $fid => $fval) { if ($fid == 1) { $key = 0; foreach ($fval as $title => $first) { //如果一級標題 $objPHPExcel->getActiveSheet()->setCellValue(chr($key + 65) . "1", $title); $objPHPExcel->getActiveSheet()->getStyle(chr($key + 65) . "1")->getFont()->setBold(true); // 加粗 $key ++; } } $cid = 0; $row_id = $fid + 1; foreach ($fval as $cval) { $objPHPExcel->getActiveSheet()->setCellValue(chr($cid + 65) . (string) ($row_id), $cval); $cid++; } } $objPHPExcel->setActiveSheetIndex(0); $objPHPExcel->getActiveSheet()->setTitle("Excel表"); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, "Excel5"); //$objWriter->save("訂單列表詳細.xls"); //輸出到瀏覽器 header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); header("Content-Disposition:inline;filename="訂單列表.xls""); header("Content-Transfer-Encoding: binary"); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Pragma: no-cache"); $objWriter->save("php://output"); } }
成果圖
心得
有時候遇到這些問題可以多思考,多看看它的原理,原理理解了下次做其它的也是會的,但最重要的是要懂得做記錄,我們的記憶并沒有想象的那么好
注:文章來源雨中笑記錄實習期遇到的問題與心得,轉載請申明原文
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/29334.html
摘要:我發現最近的項目需要導出表的頁面非常的多,想來這個也是我們常用的功能了,現在我可以很熟練的導出了,但是記得當時自己第一次導出時還是繞了一些彎路的,那么現在我就來記錄下我這次用框架項目下的導出其實在不同的框架下的導出原理都是差不多的前端導出導 我發現最近的項目需要導出Excel表的頁面非常的多,想來這個也是我們常用的功能了,現在我可以很熟練的導出了,但是記得當時自己第一次導出時還是繞了...
摘要:我發現最近的項目需要導出表的頁面非常的多,想來這個也是我們常用的功能了,現在我可以很熟練的導出了,但是記得當時自己第一次導出時還是繞了一些彎路的,那么現在我就來記錄下我這次用框架項目下的導出其實在不同的框架下的導出原理都是差不多的前端導出導 我發現最近的項目需要導出Excel表的頁面非常的多,想來這個也是我們常用的功能了,現在我可以很熟練的導出了,但是記得當時自己第一次導出時還是繞了...
摘要:數據庫地址數據庫名數據庫賬號數據庫密碼需要導出的數據庫表名文件名自己改,默認連接數據庫失敗單元格單元格單元格單元格下面改成你自己數據庫對應的字段輸出字段的數據到單元格下面改成你自己數據庫對應的字段然后訪問就可以彈出表格下載了。 數據庫內容太多,復制粘貼太麻煩?那就用代碼實現把,把代碼寫好了,導出還不容易嗎,訪問即可導出。 excel.php 然后訪問excel.php就可以彈出表格下...
摘要:數據庫地址數據庫名數據庫賬號數據庫密碼需要導出的數據庫表名文件名自己改,默認連接數據庫失敗單元格單元格單元格單元格下面改成你自己數據庫對應的字段輸出字段的數據到單元格下面改成你自己數據庫對應的字段然后訪問就可以彈出表格下載了。 數據庫內容太多,復制粘貼太麻煩?那就用代碼實現把,把代碼寫好了,導出還不容易嗎,訪問即可導出。 excel.php 然后訪問excel.php就可以彈出表格下...
閱讀 2351·2021-11-25 09:43
閱讀 2864·2021-11-24 09:39
閱讀 2926·2019-08-30 11:10
閱讀 1130·2019-08-29 16:34
閱讀 595·2019-08-29 13:25
閱讀 3358·2019-08-29 11:21
閱讀 2861·2019-08-26 11:39
閱讀 2394·2019-08-26 11:34