php 下载数据(生成word文件)

//以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'>&nbsp;</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'>&nbsp;</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;
    }
 
}

相关内容:

Leave a comment

1 Comments.

发表评论

您的电子邮箱不会被公开。 标记为 * 的区域必须填写

*


您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

有人回复时邮件通知我