百度网盘依赖文件下载:

链接:https://pan.baidu.com/s/1L8HBtDtiBisAikQKbRnZIg 
提取码:cjje 
复制这段内容后打开百度网盘手机App,操作更方便哦

我的考试完提交生成的数据

这是我的考试题类型

//导出调查评议的数据
public function diaocha(){
$xlsName = '表格形式 调查评议 信息';
$xlsTitle = array(
array('ming','试题所属分类'),
array('renshu','共评价人'),
array('fenshu','总评价分'),
array('ping','总平均分'),
array('liang','良好(%)'),
array('yiban','一般(%)'),
array('cha','差(%)'),
);
$leiid=M('linzi_kaoshi_user')->where(array('ti_id'=>2))->group('lei_id')->getField('lei_id',true);
$xlsData = array();
foreach($leiid as $k=>$r){
//试题分类
$lei_title = M('linzi_tijian_lei')->where(array('id'=>$r['lei_id']))->find();
$lei_title2 = M('linzi_tijian')->where(array('id'=>$lei_title['tj_id']))->getField('title');
$xlsData[$k]['ming'] = $lei_title2 .'——'. $lei_title['title'];//试题所属分类
$data['ti_id'] = 2;
$data['lei_id'] = $r;
$list = M('linzi_kaoshi_user')->where($data)->select();
$xlsData[$k]['renshu'] = count($list);//总人数
$fenshu = M('linzi_kaoshi_user')->where($data)->sum('sum');
$xlsData[$k]['fenshu'] = round($fenshu,2);//总分数
$xlsData[$k]['ping'] = round($xlsData[$k]['fenshu']/$xlsData[$k]['renshu'],2);//总平均分
//良好,一般,很差
$liang = 0;
$yiban = 0;
$cha = 0;
$tishu = 0;
foreach($list as $kk=>$v){
$wode = json_decode($v['wode'],true);
$tishu = $tishu+count($wode);//总题数;
foreach($wode as $kkk=>$vv){
$ti_id = explode('xuanze',$vv['tihao']);
$kaoshi = M('linzi_kaoshi')->where(array('id'=>$ti_id[1]))->find();
$ks_xuan = json_decode($kaoshi['xuan'],true);
//循环我选的答案,索引(0 良好)的有几个 索引(1 一般)的有几个 索引(2 很差)的有几个,这是我固定好的数据值
switch($vv['daan'][0]){
case 0:
$liang=$liang+1;
break;
case 1:
$yiban=$yiban+1;
break;
case 2:
$cha=$cha+1;
break;
}
}
} $xlsData[$k]['liang'] = round($liang/$tishu,2)*100;
$xlsData[$k]['yiban'] = round($yiban/$tishu,2)*100;
$xlsData[$k]['cha'] = round($cha/$tishu,2)*100;
}
// dump($xlsData);die();
exportExcel($xlsName,$xlsTitle,$xlsData);
}

exportExcel方法是放在function.php里的  此方法可以导入导出

//导出excel表格
function exportExcel($expTitle,$expCellName,$expTableData){
$xlsTitle = iconv('utf-8', 'gb2312', $expTitle);//文件名称
$fileName = $_SESSION['account'].date('_YmdHis');//or $xlsTitle 文件名称可根据自己情况设定
$cellNum = count($expCellName);
$dataNum = count($expTableData);
vendor("PHPExcel.PHPExcel"); $objPHPExcel = new PHPExcel();
$cellName = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','AL','AM','AN','AO','AP','AQ','AR','AS','AT','AU','AV','AW','AX','AY','AZ','BA','BB','BC','BD','BE','BF','BG','BH','BI'); //$objPHPExcel->getActiveSheet(0)->mergeCells('A1:'.$cellName[$cellNum-1].'1');//合并单元格
// $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', $expTitle.' Export time:'.date('Y-m-d H:i:s'));
for($i=0;$i<$cellNum;$i++){
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$i].'1', $expCellName[$i][1]);
}
// Miscellaneous glyphs, UTF-8
for($i=0;$i<$dataNum;$i++){
for($j=0;$j<$cellNum;$j++){
$objPHPExcel->getActiveSheet(0)->setCellValue($cellName[$j].($i+2), $expTableData[$i][$expCellName[$j][0]]);
}
} header('pragma:public');
header('Content-type:application/vnd.ms-excel;charset=utf-8;name="'.$xlsTitle.'.xls"');
header("Content-Disposition:attachment;filename=$fileName.xls");//attachment新窗口打印inline本窗口打印
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
}

将数据 导出excel表格式的更多相关文章

  1. 【ITOO 1】将List数据导出Excel表

    需求描述:在课表导入的时候,首先给用户提供模板(excel),然后将用户填写好的数据读取到list集合中.再进行判空处赋值处理,以及去重处理.这篇博客,主要介绍读取excel表和导出excel表的方法 ...

  2. PHP将数据导出Excel表中(投机型)

    1.简介 如何利用最简单粗糙暴力的方法将数据写入Excel文件中呢? 因为ms word和excel的文档都支持html文本格式,因此我们可以基于这个原理采用html文本格式进行数据的输出. 在htm ...

  3. c# 导入导出excel表格式

    c#使用代码导入excel时,当遇到纯数字且大于15位时会出现编码混乱(表现为科学计数法),要想呈现与excel表中纯数字格式和在数据库中呈现纯数字,操作如下: 完成即可. 导出取决于导入的内容排版.

  4. thinkphp导入导出excel表单数据

    在PHP项目经常要导入导出Excel表单. 先去下载PHPExcel类库文件,放到相应位置. 我在thinkphp框架中的位置为ThinkPHP/Library/Org/Util/ 导入 在页面上传e ...

  5. 将页面中表格数据导出excel格式的文件(vue)

    近期由于项目需要,需要将页面中的表格数据导出excel格式的文件,折腾了许久,在网上各种百度,虽然资料不少,但是大都不全,踩了许多坑,总算是皇天不负有心人,最后圆满解决了. 1.安装相关依赖(npm安 ...

  6. ASP.NET导出excel表方法汇总

    asp.net里导出excel表方法汇总  1.由dataset生成 public void CreateExcel(DataSet ds,string typeid,string FileName) ...

  7. Java使用POI实现数据导出excel报表

    Java使用POI实现数据导出excel报表 在上篇文章中,我们简单介绍了java读取word,excel和pdf文档内容 ,但在实际开发中,我们用到最多的是把数据库中数据导出excel报表形式.不仅 ...

  8. DateGridew导出Excel表+常见错误提示

    在敲机房收费系统的时候,显示数据的时候需要将DateGridew 中的数据导出进Excel表.DateGridew导出Excel表是比较常见的,当然导出Excel表有很多种方法,下面是个人认为比较容易 ...

  9. 【asp.net】将GridView数据导出Excel

    概要: 中午睡了一会,醒来的时候看到老师叫我去办公室,需求是这样的,把excel表中的每个同学,判断图片目录中是否有对应的照片(图片的名字用的学号或身份证号码) 没有对应图片的学生记录,存入自己的数据 ...

随机推荐

  1. Spark GraphX实例(3)

    7. 图的聚合操作 图的聚合操作主要的方法有: (1) Graph.mapReduceTriplets():该方法有一个mapFunc和一个reduceFunc,mapFunc对图中的每一个EdgeT ...

  2. 解决javah生成c头文件时找不到android类库的问题

    问题描述: cmd下面进入工程的bin/classes下面,执行 javah xxx.xxx.A 生成头文件, 一般来说都是可以成功执行的,但是如果xxx.xxx.A类里面引用了android类库里面 ...

  3. POCO Log库

    http://pocoproject.org/index.html 有个想法,把这个所谓的跨平台log库阉割成只支持win的,然后使代码尽量简化,高效,以后有时间就开始研究,哈哈.

  4. 设置Linux交换分区

    Linux下可以创建两种类型的交换空间,一种是swap分区,一种是swap文件.前者适合有空闲的分区可以使用,后者适合于没有空的硬盘分区,硬盘的空间都已经分配完毕.例如:安装redhat的时候,你可以 ...

  5. CSS3 选择器 基本选择器介绍

    CSS是一种用于屏幕上渲染html,xml等一种语言,CSS主要是在相应的元素中应用样式,来渲染相对应用的元素,那么这样我们选择相应的元素就很重要了,如何选择对应的元素,此时就需要我们所说的选择器.选 ...

  6. Android launchMode SingleTask newIntent 的问题

    前置条件 项目中,采用 MainActivity + 3个 fragment 的模式作为主要框架.MainActivity 使用 singleTask 模式启动.Fragment 采用 show/hi ...

  7. 2D空间中求两圆的交点

    出处:https://stackoverflow.com/questions/19916880/sphere-sphere-intersection-c-3d-coordinates-of-colli ...

  8. 物联网架构成长之路(11)-Redis缓存主从复制

    1. 说明 在我的物联网平台框架框架中,会用到Redis这个中间件.作为EMQ权限认证的缓存.https://www.cnblogs.com/think-in-java/p/5123884.html ...

  9. ES6,Array.of()函数的用法

    ES6为Array增加了of函数用已一种明确的含义将一个或多个值转换成数组. 因为,用new Array()构造数组的时候,是有二意性的. 构造时,传一个参数,表示生成多大的数组. 构造时,传多个参数 ...

  10. RSA加密和解密工具类

    import org.apache.commons.codec.binary.Base64; import javax.crypto.Cipher; import java.security.*; i ...