为了保证高考报名时个人信息与照片相对应,保证工作万无一失,学校将个人信息、照片制成一个草表打印出来让学生核对并签字。学生的个人信息保存在Excel电子表中,照片则根据学生的身份证号命名放在了文件夹中。如何制作学生的信息核对表呢?有人说,用邮件合并,在Word中做好核对表的模板,利用邮件合并功能调取Excel电子表,生成核对表。这样做虽然不是不可以,但几千人的记录表如何按班且一页多个打印出来呢?笔者向大家介绍利用Visual FoxPro报表实现信息核对表的打印方法。 1. 粮草先行——Excel转DBF 由于学生的个人信息都存在Excel电子表格中,用Visual FoxPro报表直接调用不会被认可,所以还需要把Excel电子表格的XLS格式转换成DBF格式。怎么转换呢?那还得视你安装的Excel版本而定。如果电脑中安装的是Excel 2003就简单了,只需要选择“文件→另存为”菜单,在保存窗口的类型处选择DBF格式的类型文件就可以了,并且Excel工作表中的第1行的字段名将作为生成的DBF的字段名,省了自己手动更改。如果电脑中安装的是Excel 2013,可就没这个功能了,那怎么办呢?可运行Visual FoxPro后,选择“文件→导入”菜单导入Excel表格,但这种方法在导入前要记得把Excel表中第1行表示字段名的行删除,否则生成的DBF表会把它当成一条记录来处理,且生成的DBF的字段名是Excel表中对应的A、B、C等列名,所以不是版本越高就越好。无论哪种方法生成的DBF文件还需要用Visual FoxPro打开后,选择“显示→表设计器”菜单,要将表示“身份证号”的那个字段的长度设置为18(图1)。
小提示: 也可以将字段名更改为汉字,以便于识别。 2. 重中之重——设置报表模板 不要以为没接触过Visual FoxPro就不知所措了,其实用它来制作报表模板也挺简单。建立报表模板,我们可以采用3步走“战略”。 第一步:新建报表加载数据源 再“神”的报表也得有数据的支持。运行Visual FoxPro 9.0新建一个报表后要对其加载数据。在报表设计器窗口右击选择“数据环境”菜单,在数据环境设计器窗口再右击选择“添加”菜单,选择我们先前生成的DBF文件(图2)。
第二步:设置报表页面 使多大的纸、一张纸要打印多少条学生信息,这都得提前进行设置。在报表编辑窗口,先选择“报表→属性”菜单对报表进行页面的设置。在报表属性窗口的“页面”标签下,笔者根据需要将分栏栏数设置为5,宽度为4厘米,纸型为A4。由于签字表每页都需要一个页标头用来显示“学生高考信息核对签字表”标题,可用鼠标拖动页标头来进行高度调整,主要信息放在细节处,也要用鼠标拖动细节来进行高度的调整,列标头、列注脚、页注脚等都用不到,所以要将它们的高度尽量缩为最小(图3)。
第三步:报表控件显神威 数据环境、页面设置完成后,就该报表控件“大显神威”了。在窗口中调出报表控件工具栏,选择“标签”控件后在页标头空白处单击输入标题,单击输入的标题,用“格式→字体”设置字体。 接下来最关键的操作还是在细节中添加控件。点击“图片/OLE绑定控件”,在细节空白处合适位置画出控件,在随后弹出的属性窗口“普通”标签上,控件源类型选择“表达式或变量名”,控件源处输入“'d:\photo\'+身份证号+'.jpg'”(因为以身份证号命名且文件名类型为JPG的学生照片都存放在D盘下的photo文件夹中,且由于身份证号为字段名是不断变化的,所以才这样输入),“如果源和框架大小不同”处选择“缩放内容,保持形状”;在“打印”标签的“仅当下面的表达式为真时打印”处输入“file('d:\photo\'+身份证号+'.jpg')”。切换到数据环境设计器界面,将班级、姓名、性别、身份证号等字段名拖入到细节合适位置。接着,再利用“标签”控件在细节合适位置输入“核对签字”,并利用“线条”控件划出签字位置。 小提示: 为了节省打印纸张,可把不带方框的字段标签删除掉,利用对齐工具将相应标签对齐(图4)。
3. 成果取得——报表打印输出 上述设置完成后,要实现按班打印,还得在报表窗口右击选择“数据分组”菜单,在弹出窗口的“数据分组”标签上单击“添加”按钮,在表达式窗口输入“班级”并确定。在“组开始于”处选择“新页”(图5)。
这些工作设置完成后,马上就是见证奇迹的时候了。点击“报表→打印预览”,看看是不是就可以按班打印出学生的信息核对表了(图6)? |