深圳全飞鸿

标题: beacon的报表数据处理(excel) [打印本页]

作者: zhgc    时间: 2021-6-11 16:57
标题: beacon的报表数据处理(excel)
beacon的报表数据处理(excel)

默认功能放在基类activity.inc.php的默认函数createExcel()中

  1.                 //第五种情况的UI: 下载
  2.                 if($this->editgrid_action=="download"){
  3.                         __saveLog("执行download页面UI");
  4.                         $this->loadLastQuery();
  5.                         $this->showReport();
  6.                         $this->createExcel();
  7.                         $this->halt=true;
  8.                         return;
  9.                 }
复制代码


默认的下载处理函数:

  1.         /*
  2.          * 下载Excel数据;
  3.          */
  4.         function createExcel(){
  5.                 global $db, $config, $user, $report, $smarty;
  6.                 $sqlstr = $smarty->tpl_vars["sql"];
  7.                 $limit = 65000;  //最大60K
  8.                 //require_once("phar://beacon.inc.phar/page.inc.php");        
  9.                 include_once("page.inc.php");
  10.                 $pager = new pager($limit, 1);
  11.                 $data=$pager->execute($db, $sqlstr);
  12.                 $count=count($data);  //数量
  13.                 include_once("excel.inc.php");
  14.                 if($count==0){
  15.                         //die( $sqlstr);
  16.                         ob_end_clean();  //fix by syant !
  17.                         exportExcel($report->Title, array(''), array(array(''),array('')), '', './', true);
  18.                 }else if($count>60000){
  19.                         //die( "a".$sqlstr);
  20.                         ob_end_clean();  //fix by syant !
  21.                         exportExcel($report->Title, array('警告'), array(array('由于数据量超过60000,请联系管理人员!'),array($sqlstr)), '', './', true);
  22.                 }else{
  23.                         $col=array_keys($data[0]);
  24.                         $line=array();
  25.                         foreach($data as $v){
  26.                                 $line[]=array_values($v);
  27.                         }
  28.                         ob_end_clean();  //fix by syant !
  29.                         exportExcel($report->Title, $col, $line, '', './', true);
  30.                         //exportExcel("syant-test",array('AA','BB'), array(array('a',21),array('b',23)), 'test', './', true);
  31.                 }
  32.         }
复制代码





欢迎光临 深圳全飞鸿 (http://www.nagomes.com/disc/) Powered by Discuz! X3.2