摘要:我發(fā)現(xiàn)最近的項(xiàng)目需要導(dǎo)出表的頁(yè)面非常的多,想來(lái)這個(gè)也是我們常用的功能了,現(xiàn)在我可以很熟練的導(dǎo)出了,但是記得當(dāng)時(shí)自己第一次導(dǎo)出時(shí)還是繞了一些彎路的,那么現(xiàn)在我就來(lái)記錄下我這次用框架項(xiàng)目下的導(dǎo)出其實(shí)在不同的框架下的導(dǎo)出原理都是差不多的前端導(dǎo)出導(dǎo)
我發(fā)現(xiàn)最近的項(xiàng)目需要導(dǎo)出Excel表的頁(yè)面非常的多,想來(lái)這個(gè)也是我們常用的功能了,現(xiàn)在我可以很熟練的導(dǎo)出了,但是記得當(dāng)時(shí)自己第一次導(dǎo)出時(shí)還是繞了一些彎路的,那么現(xiàn)在我就來(lái)記錄下我這次用exshop框架項(xiàng)目下的導(dǎo)出(其實(shí)在不同的框架下Excel的導(dǎo)出原理都是差不多的)
前端
導(dǎo)出
控制器
// 導(dǎo)出數(shù)據(jù) 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); //這個(gè)是獲得數(shù)據(jù)的代碼-model里 $orderList = $result["orderList"]; if (!empty($orderList)) { $j = 1; $stmt = array(); foreach ($orderList as $val) { $stmt[$j]["網(wǎng)站ID"] = $val["store_id"]; $stmt[$j]["訂單信息"] = $val["order_sn"]; $stmt[$j]["商品信息"] = $val["inventory_sn_count_chinese"]; $stmt[$j]["工藝選擇"] = $val["craft_count_chinese"]; $stmt[$j]["商品總數(shù)量"] = $val["real_goods_total_count"]; $stmt[$j]["提交日期"] = date("Y-m-d H:i:s",$val["add_time"]); $stmt[$j]["客戶(hù)名稱(chēng)"] = $val["company_name"]; $stmt[$j]["聯(lián)系人"] = $val["consignee"]; $stmt[$j]["聯(lián)系方式"] = $val["phone_mob"]; $stmt[$j]["訂單完成率"] = $val["percentage_complete"]; $stmt[$j]["訂單狀態(tài)"] = $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(); //這個(gè)方法自己下載放到公共方法里 $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) { //如果一級(jí)標(biāo)題 $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("訂單列表詳細(xì).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"); } }
成果圖
心得
有時(shí)候遇到這些問(wèn)題可以多思考,多看看它的原理,原理理解了下次做其它的也是會(huì)的,但最重要的是要懂得做記錄,我們的記憶并沒(méi)有想象的那么好
注:文章來(lái)源雨中笑記錄實(shí)習(xí)期遇到的問(wèn)題與心得,轉(zhuǎn)載請(qǐng)申明原文
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/97132.html
摘要:我發(fā)現(xiàn)最近的項(xiàng)目需要導(dǎo)出表的頁(yè)面非常的多,想來(lái)這個(gè)也是我們常用的功能了,現(xiàn)在我可以很熟練的導(dǎo)出了,但是記得當(dāng)時(shí)自己第一次導(dǎo)出時(shí)還是繞了一些彎路的,那么現(xiàn)在我就來(lái)記錄下我這次用框架項(xiàng)目下的導(dǎo)出其實(shí)在不同的框架下的導(dǎo)出原理都是差不多的前端導(dǎo)出導(dǎo) 我發(fā)現(xiàn)最近的項(xiàng)目需要導(dǎo)出Excel表的頁(yè)面非常的多,想來(lái)這個(gè)也是我們常用的功能了,現(xiàn)在我可以很熟練的導(dǎo)出了,但是記得當(dāng)時(shí)自己第一次導(dǎo)出時(shí)還是繞了...
摘要:我發(fā)現(xiàn)最近的項(xiàng)目需要導(dǎo)出表的頁(yè)面非常的多,想來(lái)這個(gè)也是我們常用的功能了,現(xiàn)在我可以很熟練的導(dǎo)出了,但是記得當(dāng)時(shí)自己第一次導(dǎo)出時(shí)還是繞了一些彎路的,那么現(xiàn)在我就來(lái)記錄下我這次用框架項(xiàng)目下的導(dǎo)出其實(shí)在不同的框架下的導(dǎo)出原理都是差不多的前端導(dǎo)出導(dǎo) 我發(fā)現(xiàn)最近的項(xiàng)目需要導(dǎo)出Excel表的頁(yè)面非常的多,想來(lái)這個(gè)也是我們常用的功能了,現(xiàn)在我可以很熟練的導(dǎo)出了,但是記得當(dāng)時(shí)自己第一次導(dǎo)出時(shí)還是繞了...
摘要:數(shù)據(jù)庫(kù)地址數(shù)據(jù)庫(kù)名數(shù)據(jù)庫(kù)賬號(hào)數(shù)據(jù)庫(kù)密碼需要導(dǎo)出的數(shù)據(jù)庫(kù)表名文件名自己改,默認(rèn)連接數(shù)據(jù)庫(kù)失敗單元格單元格單元格單元格下面改成你自己數(shù)據(jù)庫(kù)對(duì)應(yīng)的字段輸出字段的數(shù)據(jù)到單元格下面改成你自己數(shù)據(jù)庫(kù)對(duì)應(yīng)的字段然后訪(fǎng)問(wèn)就可以彈出表格下載了。 數(shù)據(jù)庫(kù)內(nèi)容太多,復(fù)制粘貼太麻煩?那就用代碼實(shí)現(xiàn)把,把代碼寫(xiě)好了,導(dǎo)出還不容易嗎,訪(fǎng)問(wèn)即可導(dǎo)出。 excel.php 然后訪(fǎng)問(wèn)excel.php就可以彈出表格下...
摘要:數(shù)據(jù)庫(kù)地址數(shù)據(jù)庫(kù)名數(shù)據(jù)庫(kù)賬號(hào)數(shù)據(jù)庫(kù)密碼需要導(dǎo)出的數(shù)據(jù)庫(kù)表名文件名自己改,默認(rèn)連接數(shù)據(jù)庫(kù)失敗單元格單元格單元格單元格下面改成你自己數(shù)據(jù)庫(kù)對(duì)應(yīng)的字段輸出字段的數(shù)據(jù)到單元格下面改成你自己數(shù)據(jù)庫(kù)對(duì)應(yīng)的字段然后訪(fǎng)問(wèn)就可以彈出表格下載了。 數(shù)據(jù)庫(kù)內(nèi)容太多,復(fù)制粘貼太麻煩?那就用代碼實(shí)現(xiàn)把,把代碼寫(xiě)好了,導(dǎo)出還不容易嗎,訪(fǎng)問(wèn)即可導(dǎo)出。 excel.php 然后訪(fǎng)問(wèn)excel.php就可以彈出表格下...
閱讀 798·2021-09-06 15:02
閱讀 2439·2019-08-30 15:43
閱讀 2164·2019-08-30 11:26
閱讀 2372·2019-08-26 12:12
閱讀 3538·2019-08-23 18:24
閱讀 3254·2019-08-23 18:16
閱讀 695·2019-08-23 17:02
閱讀 2241·2019-08-23 15:34