我想在导出excel表格加一个汇总的金额总和 请问怎么把$sum值传到下面一个控制器导出并且在excel表格中显示
<?php
class ExportgzfController extends Admin{
public function __construct(){
parent::__construct();
$this->oracle= $this->model("oracle");
}
public function indexAction(){
//$data = $this->oracle->page("*", "ALL_WEB_YULU_BAK_VM", $where, "order by WCT_ID ASC", 1, 30);
//print_r($data);
//print_r($data);
$fields = array(
"WCT_CNTRNO"=>"箱号",
"WCG_BILLNO"=>"提单号",
"WCT_CSZ_CSIZECD"=>"尺寸",
"WCT_CTP_COMMCODE"=>"箱型",
"WCT_HEI_CHEIGHTCD"=>"高箱标记",
"WCT_COP_COPERCD"=>"持箱人",
"WCT_TRANSEA_FLAG"=>"内外贸",
"WCG_GNAME"=>"货名",
"WCT_UNLDPORTCD"=>"卸货港",
"WCG_INSTM"=>"预录时间",
"WSP_OPSTTM"=>"计划开始时间",
"WSP_OPEDTM"=>"计划结束时间",
"IYC_INYTM"=>"进场时间",
"CST_CSTM"=>"付费人",
"IYC_INYTM2"=>"进闸口时间",
"MONEY"=>"金额"
);
$this->load->file(APPPATH."fields.php");
$page = $this->input->get("page");
$page = $page ? $page : 1;
$pagesize = $this->input->get("pagesize");
$pagesize = $pagesize ? $pagesize : 25;
$where = array();
$searchData = $this->input->get("data");
$CST_CSTM = $searchData["CST_CSTM"];
$CST_CSTM && $where[]= "CST_CSTM = '$CST_CSTM'";
$WCT_CNTRNO = $searchData["WCT_CNTRNO"];
$WCT_CNTRNO && $where[]= "WCT_CNTRNO = '$WCT_CNTRNO'";
if($searchData["start_time"]){
$where[] = "WCG_INSTM >= '".$searchData["start_time"]."'";//to_date('".$searchData["start_time"]."','yyyy-mm-dd hh24:mi')";
}
if($searchData["end_time"]){
$where[] = "WCG_INSTM <= '".$searchData["end_time"]."'";
}
if($searchData["start_timee"]){
$where[] = "IYC_INYTM2 >= '".$searchData["start_timee"]."'";//to_date('".$searchData["start_time"]."','yyyy-mm-dd hh24:mi')";
}
if($searchData["end_timee"]){
$where[] = "IYC_INYTM2 <= '".$searchData["end_timee"]."'";
}
//ALL_WEB_YULU_BAK_VM 备份
$data = $this->oracle->page("*", "px_chukougzf_vm", $where, "", $page, $pagesize);
$total= $this->oracle->cnt("px_chukougzf_vm", $where);
//echo $page;
//var_dump($data);
$urlparam = array(
"page" => "{page}",
'data[CST_CSTM]' => $CST_CSTM,
'data[WCT_CNTRNO]' => $WCT_CNTRNO,
"data[start_time]"=>$searchData["start_time"],
"data[end_time]"=>$searchData["end_time"],
"data[start_timee]"=>$searchData["start_timee"],
"data[end_timee]"=>$searchData["end_timee"],
);
$pagelist = $this->instance('pagelist'); //加载分页类
$pagelist->loadconfig();
$pagelist = $pagelist->total($total)->url(url("admin/exportgzf/", $urlparam) )->num($pagesize)->page($page)->output();
$sum = 0;
foreach($data as &$w)
{
if(strpos($w["WCT_CSZ_CSIZECD"],"20") !== false && strpos($w["WCT_TRANSEA_FLAG"],"内贸") !== false){
$sum+=$w["MONEY"]="50";
}
else if(strpos($w["WCT_CSZ_CSIZECD"],"40") !== false && strpos($w["WCT_TRANSEA_FLAG"],"内贸") !== false){
$sum+=$w["MONEY"]="80";
}
else if(strpos($w["WCT_CSZ_CSIZECD"],"45") !== false && strpos($w["WCT_TRANSEA_FLAG"],"内贸") !== false){
$sum+=$w["MONEY"]="80";
}
else if(strpos($w["WCT_CSZ_CSIZECD"],"20") !== false){
$sum+=$w["MONEY"]="80";}
else if(strpos($w["WCT_CSZ_CSIZECD"],"40") !== false){
$sum+=$w["MONEY"]="120";}
else if(strpos($w["WCT_CSZ_CSIZECD"],"45") !== false){
$sum+=$w["MONEY"]="120";}
}
var_dump($sum);
//echo $pagelist;
$searchForm = "付费人: ".content_input("CST_CSTM", array($CST_CSTM));
$searchForm.= "箱号: ".content_input("WCT_CNTRNO", array($WCT_CNTRNO));
$searchForm.= "预录时间: ".content_datetime("start_time", array($searchData["start_time"]), array("type"=>"yyyy-MM-dd HH:mm"));
$searchForm.= "—".content_datetime("end_time", array($searchData["end_time"]), array("type"=>"yyyy-MM-dd HH:mm"));
$searchForm.="<br/>";
$searchForm.= "进闸口时间: ".content_datetime("start_timee", array($searchData["start_timee"]), array("type"=>"yyyy-MM-dd HH:mm"));
$searchForm.= "—".content_datetime("end_timee", array($searchData["end_timee"]), array("type"=>"yyyy-MM-dd HH:mm"));
$searchForm.= '<input type="submit" class="btn btn-success btn-sm" value="搜索" name="submit">';
$searchForm.= '<a href="'.url("admin/export").'" class="btn btn-success btn-sm" value="搜索" name="submit">导出</a>';
$this->view->assign(array(
'searchValue' => array('c'=>'exportgzf', 'a'=>'index'),
'searchForm' => $searchForm,
'data' => $data,
'fields' => $fields,
'pagelist' => $pagelist,
'del' => 1
));
$this->view->display('admin/list');
}
}
导出的控制器Export
<?php
class ExportController extends Admin{
public function indexAction(){
$inputFileType = 'HTML';
$inputFileName = 'file.html';
$opts = array (
'http' => array (
'method' => 'GET',
'header'=>
"Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8\r\n" .
"Cookie:finecms_b1bf4_ci_session=".urlencode($_COOKIE["finecms_b1bf4_ci_session"])."; \r\n".
"Pragma:no-cache\r\n",
)
);
//print_r($_SERVER['HTTP_REFERER']."&pagesize=100");
//die();
$context = stream_context_create($opts);
$url = $_SERVER['HTTP_REFERER']."&pagesize=10000";
$url = str_replace($_SERVER['HTTP_HOST'], "127.0.0.1",$url);
$url = str_replace(803, "80",$url);
//echo $url;
//die();
session_write_close();
$result_data=file_get_contents($url,false,$context);
//print_r($result_data);
//die();
preg_match("/\t<table[\s\S]*table>/i", $result_data, $result_dt);
$result_data = $result_dt[0];
if(!$result_data){
$this->adminMsg("导出失败,请重试");
die();
}
//print_r($result_dt);
//die();
file_put_contents($inputFileName, $result_data);
$this->load->file(APPPATH."PHPExcel/PHPExcel.php");
$outputFileType = 'Excel2007';
$outputFileName = 'export.xlsx';
$objPHPExcelReader = @PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = @$objPHPExcelReader->load($inputFileName);
$objPHPExcelWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,$outputFileType);
$objPHPExcel = $objPHPExcelWriter->save($outputFileName);
header("location:/cost/export.xlsx");
}
}
你应该把你生成数据那一部分,单独提出去到一个方法,这样你导出时再调用那个方法就好了。