巧用Excel和Foxpro批量打印教师资格证书(上)

IT商界

  今年全国各地都在进行教师资格认证,教师只有拿到资格证书后才可以上岗,所以尽快给符合条件的老师发放资格证书成了当务之急。由于至今还没有一套正式的教师资格证书打印、查询系统,使得证书的打印一直不能顺利进行,笔者冥思苦想几天后,终于想出了用Excel+Foxpro来实现资格证书的录入、查询、打印,而且不需要复杂的编程。希望大家对此多提宝贵意见使它更完善。

  在Excel中录入数据

  大家知道,Excel 2000/XP是人们经常用到的制表软件,数据库的数据源就全靠它了。打开Excel 2000/XP,将新建表命名为“教师资格库”,“SHEET1”改名为数据源,在表中依次建立表1所示字段。

  以上为真正导入的数据字段,另在“资格种类右”字段后再依次建立表2所示数字段。

  任意输入一条记录,只需输入“持证人”、“民族”、“身份证号码”、“资格种类”、“任教学科”(其中身份证号码是关键,不得有误),其他字段完全用公式由以上字段得出。

  一、公式详解

  1.性别:用鼠标选中当前记录的性别所在位置(即以上B处),输入“=IF(LEN(E2)>15,IF(MOD(MID(E2,16,2),2)=0,"女","男"),IF(MOD(RIGHT(E2,2),2)=0,"女","男"))”,公式最外面的引号不要输入,输完后回车即可。

  2.出生年月:同样在当前记录的出生年月所在位置(即以上C处)输入“=IF(LEN(e2)=15,19&MID(e2,7,2)&"年"&MID(e2,9,2)&"月",MID(e2,7,4)&"年"&MID(e2,11,2)&"月")”。

  3.证书号码:输入证书号码比较复杂,下面就简单介绍一下证书号码的编写规律(见表3)。

  年度代码:表示认定的年份,如2002年或2003年。

  省代码:表示认定机构所在省份,如江苏省的代码为32。

  市县代码:表示认定机构所在市或县或区,如南京市的代码为201,鼓楼区为203。

  资格代码:表示该教师申请的资格种类,例如高中教师为4,初中教师为3,小学为2。

  性别代码:表示该教师的性别,0为男,1为女。

  流水号码:根据实际情况自己定的号码,一般为顺序号码,但是每年都必须从1开始。

  笔者的方法是将17位证书号码分成如表4的四部分,然后再组合起来。

  在当前记录的证书1所在位置(即以上J处)输入200232201,以后所有的记录全部一样;在当前记录的证书2所在位置(即以上K处)输入“=IF(F2="高级中学教师",4,IF(F2="中等职业学校教师",5,IF(F2="中等职业学校实习指导教师",6,"X")))”(由于这里只涉及3种资格,其他资格请做相应的修改,输完后回车);在当前记录的证书3所在位置(即以上 L处)输入“=IF(B2="男",0,1)”(输完后回车);在当前记录的证书4所在位置(即以上M处)输入“000001”,如不能输入,请先将单元格格式改为文本,具体操作为:选中该单元格→点右键设置单元格格式→数字中的文本选项→单击确定。最后在当前记录的证书号码所在位置(即以上H处)输入“=CONCATENATE(J2,K2,L2,M2)”,回车,大功告成。

  以上凡是使用公式的单元格均可以复制使用,也可以用鼠标拖曳的方式来得到。以性别为例,单击选中刚才输入记录的性别单元格→将鼠标移至单元格的右下角→当出现一个黑色十字时,按住鼠标左键的同时向下拖曳(不要松开鼠标)→直至到你需要的地方松开鼠标即可。其他的含有公式的单元格均可用此方法,只是拖曳证书号码4时要按住鼠标的右键,松开时选择“序列方式填充”即可。

  二、注意事项

  1.“资格种类右”就是“资格种类”中的记录去掉“教师”后得到的,完全可以复制实现。

  2.如身份证号码不能正常显示请将单元格格式改为文本即可。

  3.含有公式的单元格不能为文本,完成后如下图所示。

  在Foxpro中建表

  一、新建表格

  运行Foxpro6.0,单击“文件”菜单,选择“新建”→选择“项目”→单击“新建文件”按钮,出现创建对话框,以教师资格库命名并保存。再在项目管理器中选择“数据”,点击右侧“新建”按钮→点击“新建数据库”按钮,以教师资格库命名保存。出现一个窗口,在该窗口内第一个按钮单击鼠标左键,点击“新建表”按钮,以教师资格命名并保存。依次输入与Excel中相同的字段名,即持证人、性别等等,直到“资格种类右”(一定要与Excel表顺序一致),类型全为字符,宽度一律为30,然后点击“确定”,出现的对话框会询问是否录入数据,选择“NO”关闭Foxpro6.0。

  二、新建打印报表

  打开Foxpro6.0,在项目管理器中选择“文档”,再选择“报表”,单击“新建”按钮→单击“报表向导”按钮→点击“报表向导”并确定→出现图1所示对话框,单击右侧的按钮,将左边的字段全部移至右边的空白框内,再连续点击“下一步”直至出现图2所示对话框,“字段布局”选择行,“方向”选择横向,保存报表。

  三、调整报表的打印距离

  在项目管理器中选择文档/报表,点击教师资格表,将表中的无用的东西全部删除,只保留图3中部分,按资格证书式样对齐,并打印调试,适当调整各字段的间距以及打印设置,直至调整到适当的位置,至此Foxpro部分完成。

  Excel与Foxpro的数据转换

  一、数据导出

  在我们分别做好Excel与Foxpro中的工作后,就可以进行两者之间的数据转换。虽然前面保证了Excel与Foxpro的字段是完全一致的,但是由于数据类型不同,在导入时系统可能会出现错误提示。比较好的方法是:启动Foxpro6.0 ,打开前面建立的“教师资格库”项目文件→打开“教师资格库”数据库→打开“教师资格表”文件→单击“浏览”按钮→在“文件”菜单中选择“导出”,出现图4的导出对话框。在类型中选择Microsoft Excel 5.0(XLS),点击按钮→出现“另存为”对话框,随便输一个名字并选择好要保存的路径→单击“保存”即可。

  打开先前建立的“教师资格库”中的“数据源”表,以及刚刚建立的“导入”表,将数据源表中的数据全部复制,再切换到“导入”表中,选择好位置“粘贴”,最后将第一行删除即可,然后“保存”。注意:保存时会出现一个提示框,选择“NO”即可。

  二、数据导入

  关闭Excel表(如不关闭,则不能导入到Foxpro中),打开Foxpro6.0,打开“教师资格表”,单击“表”菜单→选择“追加记录”,出现“追加来源”对话框,在“类型”中选择Microsoft Excel 5.0(XLS),在“来源于”中选择“导入”表的位置,单击“确定”,数据导入完成。

  三、利用报表打印

  打开Foxpro6.0中的“教师资格库”项目中的“文档”→双击“教师资格表”→打开“文件”菜单中的“打印”,在页码中输入需要打印的部分(最好定时记录,以免重复),保证打印机连接无误后确定,然后所要做的就是不停地将空白证书放入,再将打好的拿出即可。

  这就是笔者在实际工作中摸索出的一套办法,每天可打印1500份,如果大家有什么好的建议或问题请与笔者联系,E-mail:wangyao27077@sina.com。