巧用Excel連續列印功能列印畢業證書不再愁
步驟/方法
每年六月份是學校教務處最忙的時候,其中如何能按時把畢業證書發到學生手中,是一項重要的工作。依照省教育主管部門的要求,畢業證書的紙張是統一印製的。現在學校大都用計算機列印來代替手工書寫,圖1是一張製作好了的畢業證書,虛線左邊是學校的存根,虛線右邊是發給學生的畢業證,打圈的表示不同學生有不同的值,打方框的是不變的值。學生的基本資訊都已存在,教務處一般都用Excel來處理。但要在Excel中列印畢業證書卻有些困難,因為一般證書都是用Word設計,然後從Excel原始表中“複製”學生的資訊“貼上”到Word中,製作一張列印一個,工作量可想而知,決不會比手工書寫快,只是打印出來美觀罷了。要能連續自動列印,而無需人工操作該多好。筆者帶著問題,經過反覆嘗試和實踐找到了一種既不用程式設計,且簡捷、易用的方法。
1. 首先要把Excel中的資料轉化為VFP6.0中的資料,插入一行VFP6.0欄位名(如圖2),選擇“檔案”下的“另存為”命令,在對話方塊中的“儲存型別”中選擇“DBF4(dBASE Ⅳ)(.dbf)”,轉換成功後的副檔名為DBF。
注意:Excel表的第一行內容需要先輸好(如圖2),否則轉換時可能會出現VFP6.0不能識別的欄位名,從而導致轉換不成功的現象。其中xm表示姓名、xb表示性別、xjh表示學籍號、csny表示出生年月、jgs表示籍貫的省份、jgs1表示籍貫的縣、byzh表示畢業證號。
2. 用VFP6.0的報表設計器設計介面
(1)選擇VFP6.0選單的“檔案/新建”命令,選擇“檔案型別”中的“報表”,單擊“新建檔案”,輸入檔名,便建立了一報表檔案,如“打初中畢業證書”。開啟“顯示/工具欄”選單命令,選擇“報表設計器”。如圖3,按下“報表設計器中”的“報表控制元件”。在整個設計中我們只用了〔選取物件〕按鈕、〔標籤〕按鈕和 〔域控制元件〕按鈕。
(2)圖4是筆者設計好的初中畢業證書列印報表,下面對此做一說明:常量部分用〔標籤〕按鈕,在其中直接輸入,文字的字型、字號等可用“格式/字型”來設定。變數部分用〔域控制元件〕按鈕,在彈出的“報表表示式”中輸入對應的欄位名,如xm(表示姓名)、xb(表示性別)、xjh(表示學籍號)、jgs(表示籍貫的省份)、jgs1(表示籍貫的縣)、byzh(表示畢業證號)。下面對出生年月作特殊說明:在年、月、日的“報表表示式”中分別輸入“substrc(csny,1,4)”、“substrc(csny,6,2)”、“substrc(csny,9,2)”,因為從Excel轉換時用的是字元型,如“1988.01.07”,所以用了取字元的函式“substrc”;若從Excel轉換時用的是日期型,則對應年、月、日“報表表示式”要用“year(csny)"、month(csny)、day(csny),與庫中的欄位名一一對應。
(3)完成好介面後要花一定的時間來除錯,微調時可用左、右、上、下游標鍵。若發現列印“域控制元件”的表示式的內容只顯示了其中的一部分,問題可能是方框太小,選取拖動控點來放大方框即可。報表儲存後生成兩個檔案,副檔名分別為FRT和FRX。
報表設計完成後,按〔列印〕按鈕,選擇從Excel轉換來的畢業學生的DBF檔案,就可以坐享其成了。