Hi:
Much easier in SAS 9.2, than in SAS 9.1.3, but still possible, especially if you know HTML and CSS -- and you might not even need DATA _NULL_.
For example, look at some of these examples that show the use of the HTMLSTYLE attribute to pass CSS property/values to an HTML file.
http://support.sas.com/rnd/base/ods/templateFAQ/report1.html
For example, this would simulate the DOL option (which works in LISTING) using CSS properties:
[pre]
style(summary)={htmlstyle="border-top:thick double green"}; [/pre]
As for the underlining or bold based on cell values, you can accomplish that using 2 different methods with PROC REPORT:
BOLD
1) user defined format used with STYLE= override
2) CALL DEFINE statement to supply STYLE override
http://support.sas.com/kb/23/353.html (use font_weight=bold where they show background=red, for example)
UNDERLINE need to pass <U> </U> tags:
1) user defined format to pass <u> tag as PREHTML or PRETEXT ... not shown, but you could extrapolate from format for AGE how to do this.
2) CALL DEFINE method (pass HTML tags as either PREHTML or PRETEXT as shown below)
3) insert HTML tags directly into name value in data step
4) concat HTML tags directly to name value in data step
[/pre]
cynthia
[pre]
data class;
length Name $60;
set sashelp.class;
** concat <u> tag directly to name;
if name = 'John' then do;
name = catt('<u>',name,'</u>');
end;
** use Escapechar + RAW text insertion;
if name = 'William' then do;
name = catt('^R/"<u>"',name,'^R/"</u>"');
end;
run;
proc format;
value agef 12-14 = 'normal'
15-high='bold';
run;
ods listing close;
ods html3 file='showunder.html' style=journal;
ods escapechar='^';
proc report data=class nowd
style(report)={background=_undef_};
column name age sex height weight;
define name / order order=data 'Name'
style(column)={protectspecialchars=off};
** use user-defined format for bold;
define age / display
style(column)={font_weight=agef.};
define sex / display 'Gender';
define height /mean;
define weight /display;
rbreak after /summarize;
compute name;
** Use PREHTML and PRETEXT for underline;
if name = 'Alfred' then do;
call define (_col_,'style',
'style={prehtml="<u>" posthtml="</u>"}');
end;
else if name = 'Mary' then do;
call define (_col_,'style',
'style={pretext="<u>" posttext="</u>"}');
end;
endcomp;
compute height;
if name = 'Philip' then do;
call define (_col_,'style',
'style={htmlstyle=
"border-bottom:solid;border-top:solid;border-left:solid"}');
end;
endcomp;
compute weight;
if name = 'Philip' then do;
call define (_col_,'style',
'style={htmlstyle=
"border-bottom:solid;border-top:solid;border-right:solid"}');
end;
endcomp;
run;
ods html3 close;[/pre]