SAS在輸出RTF文件時寬度為什么時99%?

我們SAS程序員在做TFL的時候一般都是用PROC REPORT步輸出RTF文件,在設(shè)置列寬度的時候會用cellwidth=進行設(shè)置,所有列的寬度加起來占整個頁面的99%,當我們把寬度設(shè)置成100%的時候,頁面會發(fā)生換行的情況,為什么會這樣呢?
做TFL的時候一般都是三線表,三線表只有上下邊框,左右是沒有邊框的,其實左右邊框是存在的,只是我們看不到(邊框透明),邊框也是有一定寬度的,這時候把列寬度設(shè)置成100%再加上邊框的寬度實際上就超過100%了,所以會出現(xiàn)換行的情況。
那么想要設(shè)置成100%要如何操作呢?這個時候就要對template下手了,我們先看一下常用的style template是如何定義的。



















proc template;                                  define style TLstyle / store = WORK.TEMPLAT;                    parent = styles.rtf;                              class table /      fontweight = light        rules = group        frame = above      cellpadding = 0      borderspacing = 0                              ;   
style Body from Document / marginbottom = 1in margintop = 1in marginright = 1in marginleft = 1in ; end; run;
這里與邊框有關(guān)的設(shè)置只有:


      rules = group        frame = above
前者規(guī)定了table的header和body之間有一個邊框,后者規(guī)定了table最上面有一條邊框。因此按照這個定義,table其實是沒有左右邊框的。看上去,盡管沒有左右邊框,SAS在計算寬度時仍然考慮了左右邊框的寬度。這時候我們嘗試把所有的邊框去掉:


rules = noneframe = void
去掉所有邊框以后就可以把寬度設(shè)置成100%而不換行了,但是同時也失去了上下邊框,這時候該如何設(shè)置呢?我們來對template修改一下:






















proc template;                                  define style TLstyle / store = WORK.TEMPLAT;                    parent = styles.rtf;                            class table /    fontweight = light        rules = none        frame = void     cellpadding = 0    borderspacing = 0                                                      ;     class header /    borderbottomwidth=1                                                      bordertopwidth=1  ;    style Body from Document /                          marginbottom = 1in                               margintop = 1in                                marginright = 1in                              marginleft = 1in    ;     end;                                     run;
在上面的定義中,我們將table的邊框定義成完全不顯示,但是在header中顯示上下邊框:


borderbottomwidth=1                                                  bordertopwidth=1
這樣我們就得到跟之前的效果,而且可以設(shè)置寬度為100%了。











請前往:http://lygongshang.com/TeacherV2.html?id=166