网络在线考试系统中数据导入导出的PHP实现
php导出大量数据的方法

php导出大量数据的方法在Web开发中,经常会遇到导出大量数据的需求,例如从数据库中导出表格数据、生成Excel报表等。
本文将介绍几种使用PHP导出大量数据的方法,帮助您在实际项目中快速处理这类需求。
一、将数据导出为CSV文件CSV(逗号分隔值)是一种常用的数据交换格式,它的优点是简单、易读,适用于大多数数据导出场景。
以下是使用PHP将数据导出为CSV文件的示例代码:```php<?php// 设置HTTP头,告诉浏览器下载文件header('Content-Type: text/csv');header('Content-Disposition: attachment; filename="data.csv"');// 打开输出流$fp = fopen('php://output', 'w');// 查询数据库获取数据$data = []; // 假设这里是数据库查询的结果// 写入CSV文件头部fputcsv($fp, array_keys($data[0]));// 逐行写入数据foreach ($data as $row) {fputcsv($fp, $row);}// 关闭输出流fclose($fp);>```上述代码首先设置了HTTP头,告诉浏览器将要下载一个CSV文件。
然后,使用`fopen()`打开输出流,指定使用`php://output`作为文件路径,这样就可以直接将数据输出到浏览器。
接着,通过`fputcsv()`函数将表头和数据按CSV格式写入文件。
最后,使用`fclose()`关闭输出流。
二、将数据导出为Excel文件除了导出CSV文件,我们还可以使用PHP将数据导出为Excel文件(xls或xlsx格式)。
这需要借助第三方库,如PHPExcel或PhpSpreadsheet。
详解thinkphp实现excel数据的导入导出(附完整案例)

详解thinkphp实现excel数据的导⼊导出(附完整案例)实现步骤:⼆:导出excel代码实现/**⽅法**/function index(){$this->display();}public 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'); $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].'2', $expCellName[$i][1]);}// Miscellaneous glyphs, UTF-8for($i=0;$i<$dataNum;$i++){for($j=0;$j<$cellNum;$j++){$objPHPExcel->getActiveSheet(0)->setCellValue($cellName[$j].($i+3), $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*/function expUser(){//导出Excel$xlsName = "User";$xlsCell = array(array('id','账号序列'),array('truename','名字'),array('sex','性别'),array('res_id','院系'),array('sp_id','专业'),array('class','班级'),array('year','毕业时间'),array('city','所在地'),array('company','单位'),array('zhicheng','职称'),array('zhiwu','职务'),array('jibie','级别'),array('tel','电话'),array('qq','qq'),array('email','邮箱'),array('honor','荣誉'),array('remark','备注'));$xlsModel = M('Member');$xlsData = $xlsModel->Field('id,truename,sex,res_id,sp_id,class,year,city,company,zhicheng,zhiwu,jibie,tel,qq,email,honor,remark')->select();foreach ($xlsData as $k => $v){$xlsData[$k]['sex']=$v['sex']==1?'男':'⼥';}$this->exportExcel($xlsName,$xlsCell,$xlsData);}第三:导⼊excel数据代码function impUser(){if (!empty($_FILES)) {import("@.ORG.UploadFile");$config=array('allowExts'=>array('xlsx','xls'),'savePath'=>'./Public/upload/','saveRule'=>'time',);$upload = new UploadFile($config);if (!$upload->upload()) {$this->error($upload->getErrorMsg());} else {$info = $upload->getUploadFileInfo();}vendor("PHPExcel.PHPExcel");$file_name=$info[0]['savepath'].$info[0]['savename'];$objReader = PHPExcel_IOFactory::createReader('Excel5');$objPHPExcel = $objReader->load($file_name,$encode='utf-8');$sheet = $objPHPExcel->getSheet(0);$highestRow = $sheet->getHighestRow(); // 取得总⾏数$highestColumn = $sheet->getHighestColumn(); // 取得总列数for($i=3;$i<=$highestRow;$i++){$data['account']= $data['truename'] = $objPHPExcel->getActiveSheet()->getCell("B".$i)->getValue();$sex = $objPHPExcel->getActiveSheet()->getCell("C".$i)->getValue();// $data['res_id'] = $objPHPExcel->getActiveSheet()->getCell("D".$i)->getValue();$data['class'] = $objPHPExcel->getActiveSheet()->getCell("E".$i)->getValue();$data['year'] = $objPHPExcel->getActiveSheet()->getCell("F".$i)->getValue();$data['city']= $objPHPExcel->getActiveSheet()->getCell("G".$i)->getValue();$data['company']= $objPHPExcel->getActiveSheet()->getCell("H".$i)->getValue();$data['zhicheng']= $objPHPExcel->getActiveSheet()->getCell("I".$i)->getValue();$data['zhiwu']= $objPHPExcel->getActiveSheet()->getCell("J".$i)->getValue();$data['jibie']= $objPHPExcel->getActiveSheet()->getCell("K".$i)->getValue();$data['honor']= $objPHPExcel->getActiveSheet()->getCell("L".$i)->getValue();$data['tel']= $objPHPExcel->getActiveSheet()->getCell("M".$i)->getValue();$data['qq']= $objPHPExcel->getActiveSheet()->getCell("N".$i)->getValue();$data['email']= $objPHPExcel->getActiveSheet()->getCell("O".$i)->getValue();$data['remark']= $objPHPExcel->getActiveSheet()->getCell("P".$i)->getValue();$data['sex']=$sex=='男'?1:0;$data['res_id'] =1;$data['last_login_time']=0;$data['create_time']=$data['last_login_ip']=$_SERVER['REMOTE_ADDR'];$data['login_count']=0;$data['join']=0;$data['avatar']='';$data['password']=md5('123456');M('Member')->add($data);}$this->success('导⼊成功!');}else{$this->error("请选择上传的⽂件");}}四、模板代码<html><head></head><body><P><a href="{:U('Index/expUser')}" >导出数据并⽣成excel</a></P><br/><form action="{:U('Index/impUser')}" method="post" enctype="multipart/form-data"><input type="file" name="import"/><input type="hidden" name="table" value="tablename"/><input type="submit" value="导⼊"/></form></body></html>最后下载:以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
PHP网络在线考试系统的设计与实现

度快 ,重 复率较 少 的现象 ,而且 有利 于教考 分离 的
实 施 ,符合 目前 教学 改革 的方 向。 当前 ,网络 在 线 考 试 系统 主要 是 围 绕 c / s模
式或 B / S模 式进 行 开 发 研 究 的 。由 于 B / S模 式 相
作 者 简 介 :高 雁 翔 ( 1 9 7 7 ~) ,女 , 山西 原 平 人 ,大 同煤 炭 职业 技 术 学 院讲 师 .硕 士 。研 究 方 向 :计 算 机 教 学 。
・
l 2 9 ・
安 顺 学 院学 报
2 0 1 3年 第 6期
一
道试题 的导人 并不 是单 单把 题 目和答 案导 入 ,还
析。
在 当今 数字 化全 面发 展 的时代 ,传统 的教 师 出 卷 、考试 方式 以及考 试 管理 已经满足 不 了当下 的考 试 需求 。网络在 线考 试不 仅能够 提高 考试资 源 的利 用 率 ,减轻 教师 人工 组卷 的工作 量 ,并保证 组 卷速
以上所 有数据 都需 要存储 在数 据库 中 ,具 体应
份 数据 以备 数据 不慎 被损 坏 ;监 考 老师 能够 在答题
后 立马 查询 到考 生所 作答 的成绩 ,并 进行 统计 与分
题库 是 网络在线 考 试系统 的基础 ,题 库模块 的
设 计应 该 提供 一 个 简 单 ,方 便 ,实用 的 录入 界 面 ,
收 稿 日期 :2 0 1 3 一l O 一2 5
等更新 维 护操作 ,能够查 询考 生考 试结束 后 的成绩 并 且通 过 Of f i c e软 件 进 行 分 析 统 计 ,还 可 以对 系 统 进行 初始 化操 作 ,控制 出题数 量 与考试 时 间 ,备
在线考试系统的设计与实现

在线考试系统的设计与实现一、引言在线考试系统是目前教育领域中热门的话题之一,它可以给学校,企业,政府等各种机构提供一种快速、便捷、高效的考试方式。
伴随着互联网技术的不断发展,在线考试系统的应用范围不断扩大,同时对于在线考试系统的设计和实现,也提出了更严格、更高要求。
本文将介绍在线考试系统的设计与实现,着重分析了在线考试系统的功能需求、系统结构和技术实现等方面。
二、在线考试系统的功能需求1、用户管理模块用户管理模块主要用于管理在线考试系统的用户,包括管理员、考生和教师等。
管理员可以对考生和教师进行添加、删除、修改和查询的操作,而考生和教师则可以通过该模块进行用户信息的管理。
2、题库管理模块题库管理模块用于管理考试系统的题库,包括题目分类、题目难度、试卷库等。
管理员可以对题库进行管理,教师可以创作试题并将其添加到题库中。
3、考试管理模块考试管理模块用于管理在线考试系统的考试流程,包括考试安排、考后成绩统计等。
管理员可以对考试进行安排和管理,考生可以通过该模块参加考试,考后系统会自动完成评分、结果统计等操作。
4、考试成绩查询模块考试成绩查询模块用于考生查询自己的考试成绩,管理员和教师也可以通过该模块查询考试成绩。
三、在线考试系统的系统结构设计在线考试系统的系统结构可以分为前台和后台两个部分。
前台部分是考生和教师使用的界面,后台部分主要功能是实现考试管理、成绩管理等管理功能。
1、前台系统前台系统是考生和教师使用的界面,通常包括登录页面、注册页面、考试页面、查看成绩页面等界面。
考生可以通过登录页面进入到考试页面,开始进行在线考试。
教师可以通过登录后进入到试题管理页面,管理考试试题。
2、后台系统后台系统主要功能是实现考试管理、成绩管理等管理功能。
后台系统通常包括管理页面、数据库、服务器等。
四、在线考试系统的技术实现1、Web技术在线考试系统是基于Web技术实现的,HTML、CSS、Javascript 是前端技术的三大核心技术。
基于PHP的在线考试系统设计与开发

基于PHP的在线考试系统设计与开发一、引言随着互联网的快速发展,在线教育逐渐成为一种主流的学习方式。
在线考试系统作为在线教育的重要组成部分,为学生和教师提供了便利的学习和评估工具。
本文将介绍基于PHP的在线考试系统的设计与开发过程,包括系统需求分析、数据库设计、前后端技术选型等内容。
二、系统需求分析在设计在线考试系统之前,首先需要进行系统需求分析,明确系统的功能和性能需求。
在线考试系统通常包括以下功能: 1. 用户注册与登录:学生和教师可以注册账号并登录系统。
2. 试卷管理:教师可以创建、编辑和发布试卷,学生可以查看和参与考试。
3. 题库管理:包括单选题、多选题、填空题等不同类型的题目管理。
4. 成绩管理:学生参与考试后可以查看成绩和答题情况。
5. 系统管理:管理员可以管理用户权限、数据备份等系统级功能。
三、数据库设计在线考试系统的数据库设计是系统设计的重要一环。
在MySQL数据库中创建相应的表格来存储用户信息、试卷信息、题目信息等数据。
以下是数据库表格的设计示例: - 用户表(user):包括用户ID、用户名、密码等字段。
- 试卷表(paper):包括试卷ID、试卷名称、创建者ID等字段。
- 题目表(question):包括题目ID、题目内容、正确答案等字段。
- 成绩表(score):包括成绩ID、用户ID、试卷ID、得分等字段。
四、前后端技术选型在开发基于PHP的在线考试系统时,需要选择合适的前后端技术来实现系统功能。
以下是技术选型建议: 1. 后端开发:使用PHP语言结合MVC框架(如Laravel、CodeIgniter)进行后端开发,实现业务逻辑处理和数据库交互。
2. 前端开发:使用HTML、CSS和JavaScript等前端技术进行页面布局和交互设计,可以选择Bootstrap或Vue.js等前端框架提高开发效率。
3. 数据库:使用MySQL或其他关系型数据库存储系统数据,通过PHP连接数据库进行数据操作。
使用phpofficephpspreadsheet,导入导出数据

使⽤phpofficephpspreadsheet,导⼊导出数据1、composer安装:composer require phpoffice/phpspreadsheet2、导出类Export,放在服务层:<?phpnamespace app\backend\service;use \PhpOffice\PhpSpreadsheet\Spreadsheet;use \PhpOffice\PhpSpreadsheet\IOFactory;//use \PHPExcel_Style_NumberFormat; //设置列的格式==>>设置⽂本格式class Export{public function exportAdmin($startTime, $endTime){$adminList = db('admin')->where('create_time', 'between', [$startTime, $endTime])->order(['admin_id' => 'desc'])->select();//return $adminList;$newExcel = new Spreadsheet(); //创建⼀个新的excel⽂档$objSheet = $newExcel->getActiveSheet(); //获取当前操作sheet的对象$objSheet->setTitle('管理员表'); //设置当前sheet的标题//设置宽度为true,不然太窄了$newExcel->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);$newExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);$newExcel->getActiveSheet()->getColumnDimension('C')->setAutoSize(true);$newExcel->getActiveSheet()->getColumnDimension('D')->setAutoSize(true);//设置第⼀栏的标题$objSheet->setCellValue('A1', 'id')->setCellValue('B1', '⽤户名')->setCellValue('C1', '密码')->setCellValue('D1', '时间');//第⼆⾏起,每⼀⾏的值,setCellValueExplicit是⽤来导出⽂本格式的。
php使用fputcsv实现大数据的导出操作详解

php使⽤fputcsv实现⼤数据的导出操作详解本⽂实例讲述了php使⽤fputcsv实现⼤数据的导出操作。
分享给⼤家供⼤家参考,具体如下:为了实验⼤数据的导出,我们这⾥先⾃已创建⼀张⼤表,表结构如下:CREATE TABLE `tb_users` (`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '⽤户ID',`name` varchar(32) DEFAULT '' COMMENT '⽤户名',`age` tinyint(3) DEFAULT '0' COMMENT '⽤户年龄',`desc` varchar(255) DEFAULT '' COMMENT '⽤户描述',`phone` varchar(11) DEFAULT '' COMMENT '⽤户⼿机',`qq` varchar(16) DEFAULT '' COMMENT '⽤户QQ',`email` varchar(64) DEFAULT '' COMMENT '⽤户邮箱',`addr` varchar(255) DEFAULT '' COMMENT '⽤户地址',PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;然后写个php脚本往这个表插⼊数据,代码如下:<?phpset_time_limit(0);ini_set('memory_limit', '128M');//使⽤TP3.2的String类,php7下会报错,注意把类名换⼀下require './String.class.php';use Org\Util\NewString;$begin = microtime(true);$db = new mysqli('127.0.0.1', 'root', '', 'test');if($db->connect_error) {die('connect error');}//数据插⼊语句$insSql = '';//⼀百万数据,分200步,每步插⼊5000条$step = 200;$nums = 5000;for($s = 0; $s < $step; ++$s) {$insSql = 'INSERT INTO tb_users VALUES';for($n = 0; $n < $nums; ++$n) {$name = NewString::randString(3, 4);$age = mt_rand(1, 120);$desc = NewString::randString(64, 4);$phone = NewString::randString(11, 1);$qq = NewString::randString(13, 1);$email = $qq . '@';$addr = NewString::randString(128, 4);$insSql .= "(NULL, '{$name}', $age, '{$desc}', '{$phone}', '{$qq}', '{$email}', '{$addr}'),";}$insSql = rtrim($insSql, ',');$db->query($insSql);}$end = microtime(true);echo '⽤时:', $end - $begin;$db->close();⾥⾯⽤到的TP3.2的String类⼤家⾃⾏上TP官⽹下载。
【IT专家】yii框架实现phpexcel导入导出

本文由我司收集整编,推荐下载,如有疑问,请与我司联系yii框架实现phpexcel导入导出2018/01/08 47 首先进行phpexcel安装 网上有很多扩展安装,这里就不介绍了,可以通过composer安装,也可以手动下载引入,这里需要注意的是composer和手动下载在引用类时不太一样,composer 安装的直接用根命名空间即可”/PHPExcel”,手动安装需按照自己定义的引用。
一.文件导入 html代码 php代码 insert=array(); file = UploadedFile::getInstance( model,‘phonelist′);if(! file) { this- backToJson(self::STATUS_ERROR,[],’上传文件有误!’);}reader = new PHPExcel_Reader_Excel2007;//建立excel对象PHPExcel= reader- load( file−tempName);//加载文件currentSheet = $PHPExcel- getSheet(0); //*读取excel文件中的指定工作表/ allColumn= currentSheet- getHighestColumn(); //*取得最大的列号/ allRow= currentSheet- getHighestRow(); //*取得一共有多少行/ allColumn++;for( rowIndex=1; rowIndex = allRow; rowIndex++){//循环读取每个单元格的内容。
注意行从1开始,列从A开始item = array(); for( colIndex=′A′;colIndex!= allColumn; colIndex++){ addr= colIndex. rowIndex; cell = currentSheet−getCell( addr)- getValue(); if(cellinstanceof\PHPExcel_RichText){//富文本转换字符串$cell=$cell- __toString();}val = iconv(‘UTF-8’, ‘utf-8’, cell); item[] = trim(val);}if(item) { insert[]= item; } } //这里最后得到的insert数组就是excel里面的数据 二.文件导出 导出比导入简单很多,我这里写的是通过浏览器弹出文件保存,如果想保存到本地的话,可以自行修改结尾部分$excel = new PHPExcel();$excel- getProperties()- setCreator(“测试”) - setLastModifiedBy(“测试”) - setTitle(‘测试’) - setSubject(‘测试’) - setDescription(‘测试’) - setKeywords(“excel”) - setCategory(“result file”);$name = “测试文件名称” ;//浏览器导出直接写文件名/*以下就是对处理Excel里的数据,横着取。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网络在线考试系统中数据导入导出的PHP 实现
作者:杨鑫
来源:《电脑知识与技术》2016年第18期
摘要:在信息系统的开发过程中,经常要将电子表格导入到网站数据库表,有时候还需要将数据库表中的内容导出到Excel电子表格。
该文介绍了一种基于PHP的电子表格导入导出技术:将电子表格保存为CSV格式,再读出每行数据,分隔每行数据为不同的字段,再把字段写入数据库表;此外,PHP还提供了写Excel电子表格的功能。
关键词:Excel电子表格;MySql数据表;导入;导出
中图分类号:TP317 文献标识码:A 文章编号:1009-3044(2016)18-0091-02
PHP Implementation of Data Import and Export in the Online Examination System
YANG Xin
(Department of Computer Science,Wuhan Polytechnic, Wuhan 430074, China)
Abstract: In the development process of information system, often need to import the spreadsheet to the website database table, and sometimes also need to export the contents of the database table to Excel electronic form. This paper introduces a kind of based on PHP spreadsheet import and export technology: save the spreadsheet as a file in CSV format, read out data for each line, separating each row of data for different field, then the field is written as a database table;in addition, PHP also provides functionality to write Excel spreadsheet.
Key words:Excel table; MySQL table; import; export
本网络在线考试系统采用LAMP(Linux+Apache+MySQL+PHP)平台。
采用B/S架构,根据武汉职业技术学院精品资源共享课《管理信息系统开发》在线考试系统需求,本考试系统支持单选题、多选题、判断题等客观题题型,支持将考生信息和试题从Excel中导入到系统(MySQL数据库),还支持将成绩信息(MySQL数据表)导出到Excel电子表格。
1 从Excel电子表格导入到MySQL数据表
将电子表格Excel导入到MySQL数据库表。
为了最简洁地把问题讲述清楚,我们以最简单的电子表格stu.xls为例,stu.xls中保存中考生的信息,包括学号、姓名和成绩,其中考前成绩为空,考试结束后成绩不为空。
1.1 电子表格转变为纯文本格式
第一步,使用办公软件Excel将电子表格stu.xls另存为stu.csv格式,如图1所示。
CSV格式实际上是一种以逗号为分隔的纯文本格式,如果使用记事本打开stu.csv文件则显示为如图2的纯文本格式。
1.2 纯文本文件的分割
第二步:分割纯文本文件stu.csv。
因为该文件是纯文本文件,容易想到将该文件分割为不同的行,每一行就是一个考生信息的记录(除首行是标题信息外)。
然后再用逗号将每一行继续分割为不同的字段值。
在php中提供了字符串分割函数explode。
该函数的功能是分割字符串为字符型数组。
例如:执行语句$st=explode(“,”,”01,刘备”)后,可以得到
$st[0]=”01”,$st[1]=”刘备”。
关键代码为:
$content=file_get_contents("cj.csv");
$temp = explode("\r\n",$content);
$content就是文本文件中的内容,包含特殊字符回车和换行。
因此可以考虑使用回车和换行字符将$content分割为字符型数组。
上面两行代码执行之后,$temp[0]=”学号,姓名,成绩”;$tem[1]=”01,刘备”;$temp[2]=”02,关羽”;$temp[3]=”03,张飞”;$temp[4]=”04,赵云”;
1.3 继续分割记录,并写入MySQL数据库表
第三步:继续分割文本文件的每一行。
即分割$temp数组的每一个元素。
使用逗号来分割。
分割得到的结果是不同的字段,例如可以得到“01”、“刘备”、“03”、“赵云”等等信息。
然后顺便写入到MySQL数据库表中。
关键代码为:
$conn=mysql_connect("127.0.0.1","root","root") or die ("connect mysql false");
mysql_select_db("db_chengji", $conn);
mysql_query("set names utf8");
for ($j=1;$j
{
$st=explode(",",$temp[$j]);
$sql3="insert into tb_cj (xuehao,xingming,score) values( '".$st[0]."','".$st[1]."','-1')";
mysql_query($sql3,$conn);
}
上面的代码,将Excel表中的内容分割为多行,每一行保存在数组$temp中,再将字符型数组的每一个元素分割为单个的字段信息。
考虑到标题无需导入到数据库表,因此上面的循环变量$j从1开始(有意跳过0,忽略标题信息),再将记录插入MySQL数据表的时候,将成绩项用字符串’-1’来填充(-1表示考试前)。
Excel文件stu.csv导入到数据表tb_cj后结果如图3所示。
2 从MySQL数据表导出到Excel电子表格
考试后需要将考生的成绩导出到Excel 文件。
导出为Excel文件非常简单,只需要把成绩显示在html的table中,然后在php文件的前面加上下面两个语句即可:
header("Content-type:application/vnd.ms=excel");
header("Content-Disposition:attachment;filename=cj.xls");
完整代码如下:
header("Content-type:application/vnd.ms=excel");
header("Content-Disposition:attachment;filename=cj.xls");
$conn=mysql_connect("127.0.0.1","root","root") or die ("connect mysql false");
mysql_query("set names utf8");
$db_selected = mysql_select_db("db_chengji", $conn);
$sql=mysql_query("select * from tb_cj",$conn);
?>
考号
姓名
分数
导出后的Excel文件如图4所示:
备注:图中0分、89分和78分是考试成绩,而-1则表示该生没有参加考试。
3 结束语
关于导入:可以采用通用式的方法。
比如导入考试试题的时候,有些题目有两个选项(判断题)有些题目是四个选项(单选题),有些则是五个选项,可以采用文件域打开Excel 文件,并对打开的文件的数据进行自动判断,在导入文件中的数据进行检测,筛选,等等。
关于导出:因为html中的表格table是可以设置为各种各样的,导出后的Excel 文件会与table表格完全一致,因此,完全可以将最高分、最低分、不及格分数、不及格人数、平均分,缺考考生姓名等以不同颜色字体显示出来,还可以详细地分析成绩并以饼图的形式显示出来,因为篇幅所限,本文不做介绍。
参考文献:
[1] 软件开发技术联盟.PHP开发实例大全[M].北京:清华大学出版社,2016.
[2] 徐康明,辛洪郁.实战突击PHP项目开发案例整合[M]. 2版.北京:电子工业出版社,2014.。