Excel的footnote:解決換行所遇問題的簡述
TFL的格式一般情況下是rtf,運(yùn)用proc report可輸出footnote。程序如下:
ods rtf ...
title ....
proc report ...
compute?after?_page_;????#在每頁結(jié)束時插入
line?@1?"...";???????????#第一行footnote
line?@1?"...";???????????#第二行footnote
????? ??但我司偶爾也會把listing輸出成excel,原因應(yīng)該是需要列出的變量過多,rtf限于展示寬度無法像excel那樣方便。
????????雖然可以使用proc report,但是無需那么嚴(yán)格,可以不寫。程序如下:
ods?excel?file="..."?options?(....);
title ...;
footnote?j=left?"...";??#j=l 可控制footnote的位置。默認(rèn)是居中顯示
????????如果footnote "..."內(nèi)容只有一行則無需考慮換行,如果多行并且像下列這樣展示,
????????需要加上#n,#為escapechar。內(nèi)容都是要填進(jìn)"..."中。
????????一般像footnote這類的最好是做一個宏變量,意思是無需更改listing的程序,當(dāng)footnote改變時,我們只需要在run一遍程序即可。
????????但是我們習(xí)慣于把listing生成為RTF而不是excel,所以換行符會使用\line,寫起來的格式有很多,以下都可以實現(xiàn)換行。
????????"{\line}footnote",?
????????"{\line???}footnote",?
????????"\linefootnote",?
????????"\line footnote"?。
? ? ? ? 如何用程序精準(zhǔn)把這四類換行符換成#n呢?
? ? ? ?最簡潔最準(zhǔn)確就是正則,雖然可能需要花點(diǎn)時間理清邏輯。其他的可能邏輯簡單,但是代碼繁瑣。
prxchange("s/(\{\s*\\line(\s*|)\})|(\\line(\s|))/#n,-1,&footnote.);
如有問題,歡迎后臺私信討論。
標(biāo)簽: