只要你有一台电脑或者手机,都能关注图老师为大家精心推荐的Excel制作电子记分册方法,手机电脑控们准备好了吗?一起看过来吧!
【 tulaoshi.com - excel 】
建立电子计分册
要建立各班各科的成绩计分册,首先应该与教务处以及校园网的网管联系,取得学生的学籍数据备用。如果没有,那就只有自己动手,丰衣足食了。
1、建立工作表组
打开Excel,新建一学生成绩处理工作簿,根据开设的学科数量N插入N+1张工作表,并分别命名为语文、数学、英语等科目表和总分表,同时选中所有工作表,形成一个工作表组。然后打开学生学籍表,从学籍表中分别复制学号和姓名数据到A、B两列,在名次列(D2)输入计算公式:=RANK(H2,(C:C,H:H)),拖动D2单元格的填充柄至最后一行,其他各列按照图1进行设计。最后,单击总分工作表,将表头中的成绩改为总分,然后在总分栏C2单元格输入=SUM(语文:英语!C2),拖动C2单元格的填充柄向下填充至最后一行。
2、页面设置
选择文件→页面设置,根据打印要求,设置好页面大小和文字的格式。为了使打印时每页都有一个表头,同时下方注明页号,选取页眉/页脚标签,首先设置页眉如图2所示:在左(L)框中输入两次回车后,输入科目:(注意其后的&&[标签名]不能直接由键盘输入,而应该点击上方的最后一个按钮),然后在中(C)框中输入表头(显示不下的自动换行)内容。全选此框中所有文字,点击上方的第一个按钮,设置表头的字体、字号等。这样,所打印出来的计分册已经包含了这些格式信息,无需重复进行设置。右框中的文字按原样输入即可,对于页脚的设计,只需在每页的下部中央处插入页号。
3、最后来设置页边距,这一项很重要,因为在页眉处设计有三行文字,因此需要将上边距加大一些,否则就可能导致页眉与正文打印时互相重合。我们可以在打印预览窗口中(如图3)拖动相应的虚线至合适位置即可。同时,为了使打印效果美观,还可以设置打印时水平居中,方法是:在图3中,点击页边距,复选其中的水平居中即可。
小提示:不要复选垂直居中,因为最后一页可能不能打印一整页。
共享工作簿
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/ejc/)计分册的基本制作已经完毕,待考试结束之后,各任课教师只需将本学科的学生成绩如实录入到计分册中,总分、名次等统计工作都会自动完成了。可这张计分册怎样让各任课教师看到并使用呢?那就靠我们的校园网了,考虑到数据的安全性(各任课教师不能随意修改其他任课教师的成绩),我们可以给每个工作表设置一个密码,再把工作簿设置为共享。
1、设置/取消密码
单击语文工作表标签,选中语文工作表,单击工具菜单,选择保护→保护工作表,输入密码后确定。依次选中其他各科的工作表,如法炮制。
2、单击工具菜单,选择共享工作簿,在出现的共享工作簿窗口中,复选允许多用户同时编辑,同时允许工作簿合并,[确定]即可。如果想给共享后的工作簿也设置一个保护密码,可单击工具菜单,选择保护→保护并共享工作簿,复选以追踪修订方式共享,并设置密码即可。
这篇文章主要介绍了如何将网页表格内容导入excel,需要的朋友可以参考下
代码如下://导出到Excel,注意,表格标记内不得有注释,因为childNodes会把注释也算进去 //如果出错,需要关闭Excel,否则Excel进程会一直运行着 //td中只能有一个input值 //非td间不可以有组建 否则报缺少;错误 //引用页面加上script type="text/javascript" src="execl.js"/script //添加按钮input style="height:26px" type="button" name="btnExcel" value="导出excel" onClick="ExportExcel(this,'tableNr','','表头');"/ //将table表的id和class设置为tableNr function ExportExcel(btn,TabId,strCols,sTitle,sHeader,sFooter){ //alert('ssss'); btn.style.cursor = "wait"; event.returnValue = false; //try{ var tab = document.getElementById(TabId); // if(tab == null) tab = document.getElementById("dg") //if(tab == null) tab = document.getElementById("db") //if(tab == null) tab = document.getElementById(TabId) if(tab == null){ alert("缺少表格对象"); btn.style.cursor = "hand"; return; } var t = tab.firstChild; var rows = t.childNodes.length; //alert(t.nodeName); //test var tds = t.childNodes[0].childNodes.length; var cols = 0; for(var i=0;itds;i++){ var td = t.childNodes[0].childNodes[i]; if(parseInt(td.colSpan)1){ cols += parseInt(td.colSpan); } else{ cols++; } } try{ var oXL = new ActiveXObject("Excel.Application"); }catch(e){ alert("请确认已经安装了Excel并允许运行Excel!"); alert("无法启动Excel,请确保电脑中已经安装了Excel!nn如果已经安装了Excel,"+"请将ip地址加入信任站点,并调整IE信任站点的安全级别。nn具体操作:nn"+"工具 → Internet选项 → 安全 → 自定义级别 → ActiveX 控件和插件 → 对未标记为可安全执行脚本的ActiveX 控件初始化并执行脚本 → 启用 → 确定"); btn.style.cursor = "hand"; return; } oXL.Workbooks.Add(); var obook = oXL.ActiveWorkBook; var osheets = obook.Worksheets; var osheet = obook.Sheets(1); var xlrow = 1; //添加标题 if((sTitle == "") || (typeof(sTitle)=="undefined") || (sTitle==null)){ var t_tdHeadc = document.getElementById("tdHeadc"); if(t_tdHeadc != null){ sTitle = t_tdHeadc.innerText; var sk = sTitle.lastIndexOf("--")+3; sTitle = sTitle.substring(sk); } } osheet.Cells(1, 1) = sTitle; osheet.Range(osheet.Cells(xlrow, 1),osheet.Cells(xlrow,cols)).Select(); //选择该列 oXL.Selection.HorizontalAlignment = 3; //居中 oXL.Selection.MergeCells = true; xlrow++; //小标题 if((sHeader == "") || (typeof(sHeader)=="undefined") || (sHeader==null)){ sHeader = ""; } if(sHeader != ""){ osheet.Cells(2, 1) = sHeader; osheet.Range(osheet.Cells(xlrow, 1),osheet.Cells(xlrow,cols)).Select(); //选择该列 //oXL.Selection.HorizontalAlignment = 3; //居中 oXL.Selection.MergeCells = true; xlrow++; } var winX = (screen.width - 300) / 2; var winY = (screen.height - 120) / 2; var win = window.open("","","directories=0,location=0,memubar=0,scrollbars=0,status=0,toolbar=0,width=230,height=75,left=" + winX + ",top=" + winY); win.document.write('htmltitle' + sTitle + '导出Excel/titlebodydiv id="m_pub_wzs_progress_x" style="background:white;overflow:hidden;padding-top:0;display:none;position:absolute;left:10px;top:25px;"table id="m_pub_wzs_progress_tab" border=0 cellspacing=1 bgcolor="#CCCCCC" style="display:inline;border-width:1px;border-style:solid;border-left-color:#333333;border-top-color:#333333;border-right-color:#EEEEEE;border-bottom-color:#EEEEEE;"'); win.document.write('tr height=17td width=4 bgcolor="#000088"/tdtd width=4 bgcolor="#000088"/tdtd width=4 bgcolor="#000088"/tdtd width=4 bgcolor="#000088"/tdtd width=4 bgcolor="#000088"/tdtd width=4 bgcolor="#000088"/tdtd width=4 bgcolor="#000088"/tdtd width=4 bgcolor="#000088"/tdtd width=4 bgcolor="#000088"/tdtd width=4 bgcolor="#000088"/tdtd width=4 bgcolor="#000088"/tdtd width=4 bgcolor="#000088"/tdtd width=4 bgcolor="#000088"/tdtd width=4 bgcolor="#000088"/tdtd width=4 bgcolor="#CCCCCC"/tdtd width=4 bgcolor="#CCCCCC"/tdtd width=4 bgcolor="#CCCCCC"/tdtd width=4 bgcolor="#CCCCCC"/tdtd width=4 bgcolor="#CCCCCC"/tdtd width=4 bgcolor="#CCCCCC"/tdtd width=4 bgcolor="#CCCCCC"/tdtd width=4 bgcolor="#CCCCCC"/tdtd width=4 bgcolor="#CCCCCC"/tdtd width=4 bgcolor="#CCCCCC"/tdtd width=4 bgcolor="#CCCCCC"/tdtd width=4 bgcolor="#CCCCCC"/tdtd width=4 bgcolor="#CCCCCC"/tdtd width=4 bgcolor="#CCCCCC"/tdtd width=4 bgcolor="#CCCCCC"/tdtd width=4 bgcolor="#CCCCCC"/td'); win.document.write('/tr/tablebrspan id="m_pub_wzs_progress_percent" style="font-size:10pt;vertical-align:middle;color:black;font-family:宋体"总计' + rows + '行,已导出font id="sx" color="#cc0000"/font行!/span/divbr /br /br /script language="javascript"var osx=document.getElementById("sx");var div = document.getElementById("m_pub_wzs_progress_x");function m_pub_wzs_progress_show(pTotalCount,pCurrCount){osx.innerText = pCurrCount;var m = Math.floor(pCurrCount / pTotalCount * 30);div.style.display = "";var tr = div.firstChild.rows[0];for(var i=0;itr.cells.length;i++){var td=tr.cells[i]; if(im) td.bgColor="#000088"; else td.bgColor="#CCCCCC";}}function m_pub_wzs_progress_hide(){ var div = document.getElementById("m_pub_wzs_progress_x"); div.style.display = "none";}/script/body/html '); //win.document.write("div style='font-size:10pt;font-family:宋体'总共" + rows + "行,已导出font id='sx' color='#cc0000'/font行!/div"); //win.m_pub_wzs_progress_show(0,rows); strCols = ","+strCols+","; var aRowSpans = new Array(); for(var i=0;icols;i++){ aRowSpans[i] = 1; } var isProgressErr = false; for(var i = 0; i rows; i++){ //btn.value = i; if(!isProgressErr){ try{ win.m_pub_wzs_progress_show(rows,i+1); } catch(e){ isProgressErr = true; } } var row = t.childNodes[i]; var xlcol =0; var viwCol = -1; //所在表格的位置,指显示位置,如果有行合并时,会与列索引不一致 var colInx = -1; var colSpans = 1; for(var h = 0; h cols; h++){ if(aRowSpans[h]1){ xlcol++; aRowSpans[h]--; viwCol++; continue; } else{ colInx++; } var td = t.childNodes[i].childNodes[colInx]; if(td == null) continue; colSpans = td.colSpan; var rowSpan = td.rowSpan; if(isNaN(rowSpan)) rowSpan = 1; for(var k=0;ktd.colSpan;k++){ viwCol++; xlcol++; aRowSpans[viwCol] = rowSpan; } h+=td.colSpan-1; //跳过合并列 if(td.className=="hideNode"){ xlcol--; continue; } var s = ""; if(td.hasChildNodes() && td.firstChild.nodeName.toLowerCase()=="input"){ if(td.firstChild.type.toLowerCase()=="text"){ s = td.firstChild.value; } else if(td.firstChild.type.toLowerCase()=="radio"){ //如果是单选框, 遍历该框所有单选框,找到选择的值 for(var k=0;ktd.childNodes.length;k++){ var cn = td.childNodes[k]; if(cn.nodeName.toLowerCase()=="input" && cn.type.toLowerCase() == "radio" && cn.checked){ s = cn.value; break; } } } } else{ s = td.innerText; } if(strCols.indexOf("," + (xlcol-1) + ",")!=-1){ osheet.Cells(xlrow,xlcol).NumberFormatLocal = '@'; } if(td.rowSpan1 || td.colSpan1){ osheet.range(osheet.cells(xlrow,xlcol),osheet.cells(xlrow-1+td.rowSpan, xlcol-td.colSpan+1)).Select(); oXL.Selection.MergeCells = true; osheet.Cells(xlrow,xlcol).HorizontalAlignment = 3; //osheet.cells(i+td.rowSpan, xlcol-td.colSpan+1).value = s; osheet.Cells(xlrow,xlcol-td.colSpan+1).value = s;//m_splitLen(s,30,'rn'); }else{ osheet.Cells(xlrow,xlcol).value = s;//m_splitLen(s,30,'rn'); } } xlrow++; } //添加表尾 if((sFooter == "") || (typeof(sFooter)=="undefined") || (sFooter==null)){ sFooter = ""; } var d = new Date(); var sUser = ""; if((window.parent != null) && (window.parent.parent != null)){ try{ sUser = window.parent.parent.bottomFrame.document.getElementById("labUser").innerText.replace("用户:","").replace(/ /g,""); } catch(exTulaoshi.com){ } } var sFooterDefault = " 制表人:" + sUser + " 制表时间:" + d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate() + " " + d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds() + " "; osheet.Cells(xlrow, 1) = sFooterDefault + sFooter; osheet.Range(osheet.Cells(xlrow, 1),osheet.Cells(xlrow,cols)).Select(); //选择该列//oXL.Selection.HorizontalAlignment = 4; //居中 oXL.Selection.MergeCells = true; osheet.Range(osheet.Cells(1, 1),osheet.Cells(1,1)).Select(); //选择第一个单元格列 osheet.Columns.AutoFit(); //自动列宽 for(var i=1;ixlrow;i++){ osheet.Rows(i).RowHeight = osheet.Rows(i).RowHeight + 6; //自动大小后上下无边距,需要增加高度,要不太挤。 } if(!isProgressErr){ //关闭进度条 win.close(); } oXL.Visible = true; oXL.UserControl = true; oXL = null; obook = null; osheets = null; osheet = null; btn.style.cursor = "hand"; }Excel超实用动图教程:
1、自动筛选;2、字符替换;3、表里编辑宏;4、表中导入外部数据;5、行列快速转换;6、在表中运行宏;7、在表中添加宏;8、文字与字母的分列合并;9、加多个视图。Tulaoshi.com
前提OR要求:A1,B1,C1,D1四个格子中有数,用公式来做文本的自动连接,显示格式 A(B)/C(D)。
若A,B,C,D都为0,啥都不显示。
若C,D同为0,不显示/C(D),即/0(0)不显示;
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/ejc/)若A,B中有一个为0一个不为0,不显示为0的项;同理,C,D中有一个为0,一个不为0时,不显示为0的。
具体实现(EXCEL公式):
=IF(AND(A1=0,B1=0,C1=0,D1=0),"",IF(AND(A1=0,B1=0,C1=0,D10),"0/("&D1&")",
CONCATENATE(IF(A1=0,"",A1),IF(B1=0,"","("&B1&")"),IF(AND(C1=0,D1=0),"","/"),CONCATENATE(IF(C1=0,"",C1),
IF(D1=0,"","("&D1&")")))))
实现效果:
总的来说,基本满意。
①打开一份需要计算工作日的表格,我们在D2单元格输入公式: =networkdays(B2,C2).
②回车得到结果21,在2010年1月份,出去周六和周日,工作日有21天。
③双击填充柄,下拉得到结果,我们勾选不用格式填充。
④然后在E11输入公式: =networkdays(B11,C11,A16:A18).
⑤回车结果显示20,其中不包含节假日,也就是国庆当天。
公式说明
networkdays(小日期,大日期,节假日区域):返回两个日期之间不包含周六周日的工作日天数。
生成excel文件,最简单的莫过于把数据库的数据导入到excel就行了,下面有个不错的示例,大家可以参考下
生成excel 当然使用的是 phpExcel这个类库了,可是它太麻烦了,对于只要简单生成来说有点不值得 什么叫简单,把数据库的数据导入到excel就行了, 这个就是简单了 下面看一段代码(代码来自网络) 注意要双引号的字符串 代码如下:?php header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:filename=test.xls"); echo "test1t"; echo "test2tn"; echo "test1t"; echo "test2tn"; echo "test1t"; echo "test2tn"; echo "test1t"; echo "test2tn"; echo "test1t"; echo "test2(图老师整理)tn"; echo "test1t"; echo "test2tn"; ?本文为大家介绍下使用header导出Excel,具体实现代码如下,感兴趣的朋友不要错过
代码如下:?php class reportFormAction extends CommonAction{ public function index(){ if($_POST){ //@param $data array 需要导出的数据 //@param $field string 导出csv文件的列名 //@param $filename string 需要导出csv文件的名字 $where = '1'; $order = 'creative_id desc'; if($_POST['crea_wh'] == 1) $order .= ""; if($_POST['crea_wh'] == 2) $order .= "creative_time desc"; $star = strtotime($_POST['control_star']); $end = strtotime($_POST['control_end']); if($star && $end) $where .= " and (create_time between $star and $end)"; if($_POST['creative_type'] == 1) $where .= " and creative_type =1"; if($_POST['creative_type'] == 2) $where .= " and creative_type =2"; if($_POST['creative_type'] == 3) $where .= " and creative_type =3"; if($_POST['sort_name'] == 1) $where .= " and sort_name = '技术类'"; if($_POST['sort_name'] == 2) $where .= " and sort_name = '包装类'"; if($_POST['sort_name'] == 3) $where .= " and sort_name = '产品类'"; if($_POST['sort_name'] == 4) $where .= " and sort_name = '营销类'"; if($_POST['sort_name'] == 5) $where .= " and sort_name = '其他类'"; if($_POST['two_status']==0) {$where .= " and two_status=0"; $fenlei1="一句话创意";} if($_POST['two_status']==1) {$where .= " and two_status=1"; $fenlei2="标准创意";} $csv = ''; $lists = M('creative')-where($where)-order($order)-select(); if(is_array($lists) && count($lists)0) { if(empty($filename)) { $filename = date('Y-m-d',time()).'.csv'; } header('Content-type:application/vnd.ms-excel'); header('Content-Disposition:attachment;filename='.$filename); header('Pragma:no-cache'); header('Expires:0'); if($_POST['two_status']==0){ $csv= '分类,创意ID,创意类型,创意标签,创意标题,创意描述,评论数, 收藏数,投票数,提交人,作者'."n"; }elseif($_POST['two_status']==1){ $csv= '分类,创意ID,创意类型,创意标签,创意标题,创意描述,评论数, 收藏数,投票数,提交人,作者,合作者,核心创新点说明,市场计划,已有类似商业化案例,相关专利状况,实现方式讨论,发表时间'."n"; }else{ $csv= '分类,创意ID,创意类型,创意标签,创意标题,创意描述,评论数, 收藏数,投票数,提交人,作者,合作者,核心创新点说明,市场计划,已有类似商业化案例,相关专利状况,实现方式讨论,发表时间'."n"; } foreach($lists as $list =$v) { if($v['creative_type'] == 1){ $type = '问题'; }elseif($v['creative_type'] == 2){ $type = '解决方式'; }elseif($v['creative_type'] == 3){ $type = '新创意'; } if($v['two_status']==0) $fenlei="一句话创意"; if($v['two_status']==1) $fenlei="标准创意"; if($_POST['two_status']==0){ //一句话 $csv .= $fenlei1.','.$v['creative_id'].",".$v['sort_name'].','.$type.','.$v['creative_name'].','.$v['creative_description'].','.$v['comment_num'].','.$v['collect_num'].','.$v['vote_num'].','.$v['submitter'].','.$v['author']."n"; }elseif($_POST['two_status']==1){ //标准 $csv .= $fenlei2.','.$v['creative_id'].",".$v['sort_name'].','.$type.','.$v['creative_name'].','.$v['creative_description'].','.$v['comment_num'].','.$v['collect_num'].','.$v['vote_num'].','.$v['submitter'].','.$v['author'].','.$v['collaborator'].','.$v['innovation_description'].','.$v['marketing_plan'].','.$v['business_case'].','.$v['patent_situation'].','.$v['discuss_ways'].','.strtotime($v['create_time'])."n"; }else{ //全部 $csv .= $fenlei.','.$v['creative_id'].",".$v['sort_name'].','.$type.','.$v['creative_name'].','.$v['creative_description'].','.$v['comment_num'].','.$v['collect_num'].','.$v['vote_num'].','.$v['submitter'].','.$v['author'].','.$v['collaborator'].','.$v['innovation_description'].','.$v['marketing_plan'].','.$v['business_case'].','.$v['patent_situation'].','.$v['discuss_ways'].','.strtotime($v['create_time'])."n"; } } echo mb_convert_encoding($csv,"CP936","UTF-8"); }else{ $this-assign("msg",$msg); } exit; } $this-display(); } public function votecount(){ if($_POST){ //@param $data array 需要导出的数据 //@param $field string 导出csv文件的列名 //@param $filename string 需要导出csv文件的名字 $where = '1'; if($_POST['crea_order'] == 1) $order = " c.vote_num desc"; $star = strtotime($_POST['control_star']); $end = strtotime($_POST['control_end']); if($star && $end) $where .= " and (c.vote_start_time between $star and $end) and (c.vote_end_time between $star and $end)"; $sql ="select c.sort_name,c.creative_id,c.creative_type,c.creative_name,c.creative_description,c.vote_num,c.comment_num,c.collect_num,c.create_time, u.username from cofco_creative as c left join cofco_userinfo as u on c.uid= u.uid where $where order by $order "; $lists = M()-query($sql); $csv = ''; if(is_array($lists) && count($lists)0) { if(empty($filename)) { $filename = date('Y-m-d',time()).'.csv'; } header('Content-type:application/vnd.ms-excel'); header('Content-Disposition:attachment;filename='.$filename); header('Pragma:no-cache'); header('Expires:0'); $csv = '创意标签,提交者,创意分类,创意标题,创意简述,得票数,评论数, 收藏数,上传时间'."n"; foreach($lists as $list =$v) { if($v['creative_type'] == 1){ $type = '问题'; }elseif($v['creative_type'] == 2){ $type = '解决方式'; }elseif($v['creative_type'] == 3){ $type = '新创意'; } $time = date("Y-m-d H:i:s",$v['create_time']); $csv .= $v['sort_name'].','.$v['username'].','.$type.','.$v['creative_name'].','.$v['creative_description'].','.$v['vote_num'].','.$v['comment_num'].','.$v['collect_num'].','.$time."n"; } echo mb_convert_encoding($csv,"CP936","UTF-8"); }else{ $this-assign("msg",$msg); } exit; } $this-display(); } } ?来源:http://www.tulaoshi.com/n/20160401/2078635.html
看过《Excel制作电子记分册方法》的人还看了以下文章 更多>>