将数据 导出excel表格式
百度网盘依赖文件下载:
链接: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表格式的更多相关文章
- 【ITOO 1】将List数据导出Excel表
需求描述:在课表导入的时候,首先给用户提供模板(excel),然后将用户填写好的数据读取到list集合中.再进行判空处赋值处理,以及去重处理.这篇博客,主要介绍读取excel表和导出excel表的方法 ...
- PHP将数据导出Excel表中(投机型)
1.简介 如何利用最简单粗糙暴力的方法将数据写入Excel文件中呢? 因为ms word和excel的文档都支持html文本格式,因此我们可以基于这个原理采用html文本格式进行数据的输出. 在htm ...
- c# 导入导出excel表格式
c#使用代码导入excel时,当遇到纯数字且大于15位时会出现编码混乱(表现为科学计数法),要想呈现与excel表中纯数字格式和在数据库中呈现纯数字,操作如下: 完成即可. 导出取决于导入的内容排版.
- thinkphp导入导出excel表单数据
在PHP项目经常要导入导出Excel表单. 先去下载PHPExcel类库文件,放到相应位置. 我在thinkphp框架中的位置为ThinkPHP/Library/Org/Util/ 导入 在页面上传e ...
- 将页面中表格数据导出excel格式的文件(vue)
近期由于项目需要,需要将页面中的表格数据导出excel格式的文件,折腾了许久,在网上各种百度,虽然资料不少,但是大都不全,踩了许多坑,总算是皇天不负有心人,最后圆满解决了. 1.安装相关依赖(npm安 ...
- ASP.NET导出excel表方法汇总
asp.net里导出excel表方法汇总 1.由dataset生成 public void CreateExcel(DataSet ds,string typeid,string FileName) ...
- Java使用POI实现数据导出excel报表
Java使用POI实现数据导出excel报表 在上篇文章中,我们简单介绍了java读取word,excel和pdf文档内容 ,但在实际开发中,我们用到最多的是把数据库中数据导出excel报表形式.不仅 ...
- DateGridew导出Excel表+常见错误提示
在敲机房收费系统的时候,显示数据的时候需要将DateGridew 中的数据导出进Excel表.DateGridew导出Excel表是比较常见的,当然导出Excel表有很多种方法,下面是个人认为比较容易 ...
- 【asp.net】将GridView数据导出Excel
概要: 中午睡了一会,醒来的时候看到老师叫我去办公室,需求是这样的,把excel表中的每个同学,判断图片目录中是否有对应的照片(图片的名字用的学号或身份证号码) 没有对应图片的学生记录,存入自己的数据 ...
随机推荐
- Centos7安装Tomcat并部署DubboAdmin的War包并配置自动启动
一.安装过程 1.打开官网,在左侧选择要下载的版本,比如下下载Tomcat8:https://tomcat.apache.org/download-80.cgi 2.找到tar.gz的下载地址:htt ...
- win32 进程崩溃时禁止弹出错误对话框
在程序初始化的时候加入以下代码即可: SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX); _set_abort_behav ...
- 【Android】Android传感器
1.加速度传感器2.磁场传感器3.方向传感器4.陀螺仪传感器5.重力传感器6.线性加速度传感器7.温度传感器8.光线传感器9.距离传感器10.压力传感器11.计步传感器 首先先查看测试的安卓机拥有的传 ...
- [Aaronyang] 写给自己的WPF4.5 笔记6[三巴掌-大数据加载与WPF4.5 验证体系详解 2/3]
我要做回自己--Aaronyang的博客(www.ayjs.net) 博客摘要: Virtualizing虚拟化DEMO 和 大数据加载的思路及相关知识 WPF数据提供者的使用ObjectDataPr ...
- [转]Core Kubernetes: Jazz Improv over Orchestration
(因为写的真的是太好了,所以必须要转载) This is the first in a series of blog posts that details some of the inner work ...
- SNF开发平台WinForm-表单验证控件-通用
CS程序也能做到像BS程序一样的验证效果,如下: 1.验证控件的展示 校验时如果不符合验证条件的控件,会在控件上显示较显眼的图标. 当出现不符合验证的控件时,鼠标悬浮会显示自定义的提示信息. 如:输入 ...
- Atitit.mysql 5.0 5.5 5.6 5.7 新特性 新功能
Atitit.mysql 5.0 5.5 5.6 5.7 新特性 新功能 1. MySQL 5.6 5 大新特性1 1.1. 优化器的改进1 1.2. InnoDB 改进1 1.3. 使用 ...
- Unsafe 学习和源码阅读
在代码中获取 Unsafe 对象的方法: // 在 AtomicInteger 里面是这么用的private static final Unsafe unsafe = Unsafe.getUnsafe ...
- 提一下InfoQ
昨天在微信读书中整理了一个"架构师"清单,把InfoQ中文社区这两年发布的电子书整理到了一起,分享给了团队成员. 如果你去研究InfoQ中文社区,就会发现其中一个人与之因缘际会的相 ...
- git配置用户名邮箱,全局配置/单仓库配置
在项目根目录下进行单仓库配置(作用域只在本仓库下): git config user.name "gitlab's Name" git config user.email &quo ...