馬震安
如何制作學(xué)生的信息核對表呢?有人說,用郵件合并,在Word中做好核對表的模板,利用郵件合并功能調(diào)取Excel電子表,生成核對表。這樣做雖然不是不可以,但幾千人的記錄表如何按班且一頁多個(gè)打印出來呢?筆者向大家介紹利用Visual FoxPro報(bào)表實(shí)現(xiàn)信息核對表的打印方法。
1. 糧草先行——Excel轉(zhuǎn)DBF
由于學(xué)生的個(gè)人信息都存在Excel電子表格中,用Visual FoxPro報(bào)表直接調(diào)用不會被認(rèn)可,所以還需要把Excel電子表格的XLS格式轉(zhuǎn)換成DBF格式。怎么轉(zhuǎn)換呢?那還得視你安裝的Excel版本而定。
如果電腦中安裝的是Excel 2003就簡單了,只需要選擇“文件→另存為”菜單,在保存窗口的類型處選擇DBF格式的類型文件就可以了,并且Excel工作表中的第1行的字段名將作為生成的DBF的字段名,省了自己手動(dòng)更改。
如果電腦中安裝的是Excel 2013,可就沒這個(gè)功能了,那怎么辦呢?可運(yùn)行Visual FoxPro后,選擇“文件→導(dǎo)入”菜單導(dǎo)入Excel表格,但這種方法在導(dǎo)入前要記得把Excel表中第1行表示字段名的行刪除,否則生成的DBF表會把它當(dāng)成一條記錄來處理,且生成的DBF的字段名是Excel表中對應(yīng)的A、B、C等列名,所以不是版本越高就越好。
無論哪種方法生成的DBF文件,還需要用Visual FoxPro打開后,選擇“顯示→表設(shè)計(jì)器”菜單,要將表示“身份證號”的那個(gè)字段的長度設(shè)置為18(圖1)。
2. 重中之重——設(shè)置報(bào)表模板
不要以為沒接觸過Visual FoxPro就不知所措了,其實(shí)用它來制作報(bào)表模板也挺簡單。建立報(bào)表模板,我們可以采用三步走“戰(zhàn)略”。
第一步:新建報(bào)表加載數(shù)據(jù)源
再“神”的報(bào)表也得有數(shù)據(jù)的支持。運(yùn)行Visual FoxPro 9.0新建一個(gè)報(bào)表后要對其加載數(shù)據(jù)。在報(bào)表設(shè)計(jì)器窗口右擊選擇“數(shù)據(jù)環(huán)境”菜單,在數(shù)據(jù)環(huán)境設(shè)計(jì)器窗口再右擊選擇“添加”菜單,選擇我們先前生成的DBF文件(圖2)。
第二步:設(shè)置報(bào)表頁面
使用多大的紙、一張紙要打印多少條學(xué)生信息,這都得提前進(jìn)行設(shè)置。在報(bào)表編輯窗口,先選擇“報(bào)表→屬性”菜單對報(bào)表進(jìn)行頁面的設(shè)置。在報(bào)表屬性窗口的“頁面”標(biāo)簽下,筆者根據(jù)需要將分欄欄數(shù)設(shè)置為5,寬度為4厘米,紙型為A4。由于簽字表每頁都需要一個(gè)頁標(biāo)頭用來顯示“學(xué)生高考信息核對簽字表”標(biāo)題,可用鼠標(biāo)拖動(dòng)頁標(biāo)頭來進(jìn)行高度調(diào)整。主要信息放在細(xì)節(jié)處,也要用鼠標(biāo)拖動(dòng)細(xì)節(jié)來進(jìn)行高度的調(diào)整。列標(biāo)頭、列注腳、頁注腳等都用不到,所以要將它們的高度盡量縮為最?。▓D3)。
第三步:報(bào)表控件顯神威
數(shù)據(jù)環(huán)境、頁面設(shè)置完成后,就該報(bào)表控件“大顯神威”了。在窗口中調(diào)出報(bào)表控件工具欄,選擇“標(biāo)簽”控件后在頁標(biāo)頭空白處單擊并輸入標(biāo)題,單擊輸入的標(biāo)題,用“格式→字體”設(shè)置字體。
接下來最關(guān)鍵的操作還是在細(xì)節(jié)中添加控件。點(diǎn)擊“圖片/OLE綁定控件”,在細(xì)節(jié)空白處合適位置畫出控件,在隨后彈出的屬性窗口“普通”標(biāo)簽上,控件源類型選擇“表達(dá)式或變量名”,控件源處輸入“'d:\photo\'+身份證號+'.jpg'”(因?yàn)橐陨矸葑C號命名且文件名類型為JPG的學(xué)生照片都存放在D盤下的photo文件夾中,且由于身份證號為字段名是不斷變化的,所以才這樣輸入),“如果源和框架大小不同”處選擇“縮放內(nèi)容,保持形狀”,在“打印”標(biāo)簽的“僅當(dāng)下面的表達(dá)式為真時(shí)打印”處輸入“file('d:\photo\'+身份證號+'.jpg')”。切換到數(shù)據(jù)環(huán)境設(shè)計(jì)器界面,將班級、姓名、性別、身份證號等字段名拖入到細(xì)節(jié)合適位置。接著,再利用“標(biāo)簽”控件在細(xì)節(jié)合適位置輸入“核對簽字”,并利用“線條”控件劃出簽字位置。
3. 成果取得——報(bào)表打印輸出
上述設(shè)置完成后,要實(shí)現(xiàn)按班打印,還得在報(bào)表窗口右擊選擇“數(shù)據(jù)分組”菜單,在彈出窗口的“數(shù)據(jù)分組”標(biāo)簽上單擊“添加”按鈕,在表達(dá)式窗口輸入“班級”并確定。在“組開始于”處選擇“新頁”(圖5)。
這些工作設(shè)置完成后,馬上就是見證奇跡的時(shí)候了。點(diǎn)擊“報(bào)表→打印預(yù)覽”,看看是不是就可以按班打印出學(xué)生的信息核對表了(圖6)?