//以xls下载, 也就是word下载 class AdminProduct_CsvDownloadAction extends BeauBeauAction { protected function configuration($config) { $config->defaultView = array('AdminProduct', 'ListInit'); $config->requestMethods = Request::POST; $config->secure = true; $config->credential = BEAUBEAU_ADMIN_MENU_PRODUCT_MAINTENANCE; $config->transactionType = TransactionType::REQUIRED; } public function handleError () { return View::NONE; } public function execute () { $context = $this->getContext(); $request = $this->getRequest(); $constant = $this->getConstants(); $controller = $context->getController(); $user = $this->getContext()->getUser(); $productId = $request->getParameter('product_id'); if (is_null($productId)) return $this->handleError(); // DB設定 $conn = $context->getDatabaseConnection(); $adminReviewCollectView = $this->getTable('AdminReviewCollectView', $conn); $adminReviewCollectViewData = $adminReviewCollectView->findWithoutAvailability(null, array('equal' => array('product_id' => $productId))); if (is_null($adminReviewCollectViewData)) return $this->handleError(); $adminReviewCollectInfo = $adminReviewCollectViewData->getRow(); <span id="more-57"></span> //取得总人数 $ReviewData = $adminReviewCollectView->findAll(array('equal' => array('product_id' => $productId))); $num = count($ReviewData); //取得平均值 $Review = $adminReviewCollectView->findAll(array('columns' => 'avg(recommend_id) average','equal' => array('product_id' => $productId))); //取得详细信息 $ReviewAll = $adminReviewCollectView->findAll(array('equal' => array('product_id' => $productId))); $output = "<HTML>"; $output .= "<HEAD>"; $output .= "<META http-equiv=Content-Type content=\"text/html; charset=utf-8\">"; $output .= "</HEAD>"; $output .= "<BODY>"; $output .= "<TABLE BORDER=1>"; $output .= "<tr><td colspan='9'> </td></tr>"; $output .= "<tr><td colspan='9' bgcolor='#CCCCCC'><b>Basic Information</b></td></tr>"; $output .= "<tr><td width='140'>Brand Name</td><td colspan='8'>{$adminReviewCollectInfo['brand_name_local']}</td></tr>"; $output .= "<tr><td width='140'>Product Name</td><td colspan='8'>{$adminReviewCollectInfo['product_name_local']}</td></tr>"; $output .= "<tr><td width='140'>Review Count</td><td align='left' colspan='8'>{$num}</td></tr>"; foreach ($Review as $k=>$v) { $output .= "<tr><td width='140'>Recommend Average</td><td align='left' colspan='8'>{$v->average}</td></tr>"; } $output .= "<tr><td colspan='9'> </td></tr>"; $output .= "<tr><td colspan='9' bgcolor='#CCCCCC'><b>Review Detail</b></td></tr>"; $output .= "<tr><td align='center'>Nickname</td><td align='center'>Skin</td><td align='center'>Region</td><td align='center'>Province</td><td align='center'>City</td><td align='center'>Age</td><td align='center'>Sales Channel</td><td align='center'>Date</td><td align='center'>Content</td></tr>"; foreach ($ReviewAll as $k=>$v) { $output .= "<tr><td align='center'>{$v->nickname}</td><td align='center'>{$v->skin_type}</td><td align='center'>{$v->country_name}</td><td align='center'>{$v->district_name}</td><td align='center'>{$v->sub_district_name}</td><td align='center'>{$v->age}</td><td align='center'>{$v->sales_channe}</td><td align='center'>{$v->display_date}</td><td align='left'>{$v->txt_body}</td></tr>"; } $output .= "</TABLE>"; $output .= "</BODY>"; $output .= "</HTML>"; header("Content-type:application/msexcel"); header("Content-disposition: attachment; filename=output.xls"); header("Cache-control: private"); header("Pragma: private"); print($output); return VIEW::NONE; } }
php 下载数据(生成word文件)
Leave a comment
不是很明白