位置:首页 > 网络编程 > html&js
点击展开栏目简介

                                                    

jquery:通过jquery导出json数据到excel

分享到: 微信 新浪微博 更多

前台页面:

<meta charset="gbk">
<link rel="stylesheet" href="css/bootstrap.min.css">
<script src="https://code.jquery.com/jquery-3.2.0.min.js"></script>
<script src='excelexportjs.js'></script>
<h2>Kewords报表</h2>
<div id="report1"></div>
<button id='DLtoExcel1' class="btn btn-danger">导出keywords报表</button>
</br>
</br>

<h2>Landingpage报表</h2>
<div id="report2"></div>
<button id='DLtoExcel2'  class="btn btn-danger">导出Landingpage报表</button>

<script>
var url='data.ajax.php?action=getvisitreport';
  var $btnDLtoExcel1 = $('#DLtoExcel1');
  $btnDLtoExcel1.on('click', function () {
    $.get(url, function(data) {
      data=eval("("+data+")");
      // console.log(data.list);
      $("#report1").excelexportjs({
                  containerid: "report1"
                     , datatype: 'json'
                     , dataset: data.list
                     , encoding: "gbk"
                     // , columns: getColumns(data.list)     //getColumns函数里可以定义表头
                     , columns: data.listcolumns //直接从后台返回
              });
    });
  });
  var $btnDLtoExcel2 = $('#DLtoExcel2');
  $btnDLtoExcel2.on('click', function () {
     $.get(url, function(data) {
      data=eval("("+data+")");
      // console.log(data.listzt);return false;
      $("#report2").excelexportjs({
                  containerid: "report2"
                     , datatype: 'json'
                     , dataset: data.listzt
                     , encoding: "gbk"
                     // , columns: getColumns(data.listzt)     //getColumns函数里可以定义表头
                     , columns: data.listztcolumns //直接从后台返回
              });
    });      
  });
</script>

后台页面代码:

数据列表是list和listzt;listcolumns和listztcolumns返回前端用于设置表头;当然也可以选择在前端页面组装json字符串;

$data['list']=$list;
$data['listcolumns']=array(
		0=>array('headertext'=>'账号','datatype'=>'string','datafield'=>'account'),
		1=>array('headertext'=>'渠道','datatype'=>'string','datafield'=>'channel'),
		2=>array('headertext'=>'计划','datatype'=>'string','datafield'=>'plan'),
		3=>array('headertext'=>'单元','datatype'=>'string','datafield'=>'unit'),
		4=>array('headertext'=>'关键字','datatype'=>'string','datafield'=>'keywords'),
		5=>array('headertext'=>'页面','datatype'=>'string','datafield'=>'pageurl'),
		6=>array('headertext'=>'pv','datatype'=>'string','datafield'=>'pv'),
		7=>array('headertext'=>'uv','datatype'=>'string','datafield'=>'uv'),
		8=>array('headertext'=>'注册数','datatype'=>'string','datafield'=>'signups'),
		9=>array('headertext'=>'电话数','datatype'=>'string','datafield'=>'400tels'),
		);//表头字段 用于jquery导出时的表头设置
$data['listzt']=$listzt;
$data['listztcolumns']=array(
		0=>array('headertext'=>'标题','datatype'=>'string','datafield'=>'pagetitle'),
		1=>array('headertext'=>'链接','datatype'=>'string','datafield'=>'pageurl'),
		2=>array('headertext'=>'pv','datatype'=>'string','datafield'=>'pv'),
		3=>array('headertext'=>'uv','datatype'=>'string','datafield'=>'uv'),
		4=>array('headertext'=>'停留时间','datatype'=>'string','datafield'=>'avgstay'),
		5=>array('headertext'=>'跳出率','datatype'=>'string','datafield'=>'breakrate'),
		);//表头字段 用于jquery导出时的表头设置
echo urldecode(json_encode($m->g2j($data),JSON_UNESCAPED_UNICODE));


Excelexport.rar
文件类型: .rar f4754207caf7daca8a0a1d024c1b2ca3.rar (3.86 KB)

上篇:js/jquery:script src方式引入js文件实现异步加载功能

下篇:jquery/ajax:ajax传递json数组字符串到后台(JSON.stringify)

发表评论 ​共有​条评论
  • 匿名发表