Hi:
I'm not sure what you mean by "links" or what you mean by using "data _null_ as the layout of the document is quite specific".
About LINKS:
This forum posting shows how to insert hyperlinks to other web sites:
http://support.sas.com/forums/thread.jspa?threadID=1212
This forum posting discusses how to code "internal" links within the Excel worksheet, as in a Table of Contents, using the CONTENTS= suboption:
http://support.sas.com/forums/thread.jspa?messageID=26133昕
And this previous forum posting shows how to put a link in a footnote statment:
http://support.sas.com/forums/thread.jspa?messageID=17732䕄
I'm not sure what other kinds of "links" you mean. You might mean pointing to other columns, as for formulas, but formulas are implemented via the use of the TAGATTR style attribute. If you search the forum, there are many postings about the use of TAGATTR.
About DATA _NULL_:
You said you wanted/needed to use DATA _NULL_ because the layout of the document is quite specific. I believe you may find that "free-format" DATA _NULL_ does not work with ODS in the same way it worked in the LISTING window. So, for example, if you wanted to do something like this:
1) put the first NAME in cell B1 and then put that person's address in C2 and their city/state in C3 and then put their employer in F3
2) put the second NAME in cell B5, address in C6, city/state in C7 and employer in F7
3) put the third NAME in cell B9, address in C10, city/state in C11 and employer in F11
but then after 10 names, switch to a different layout, where you put every name in a different cell with that person's address in the cell directly underneath the name.
The above report would be hard to accomplish. Individual "cells" are not addressable when you use DATA _NULL_ and TAGSETS.EXCELXP. The only way I know to do something as described above is through the use of DATA _NULL_ and DDE -- which is bypassing ODS altogether and is writing directly into a binary Excel worksheet. (Note that I described an arbitrary layout -- your layout is probably more "organized" -- but the important point is that SAS and ODS expect output to be in the form of TABLES -- a very regular arrangement of rows and columns, where every row has the same number of columns and the only row or column spanning that happens will happen in the Headers or RowHeaders of the report table.)
PROC PRINT and PROC REPORT and PROC TABULATE are better tools for creating output for report tables. You can also use DATA _NULL_ for report tables, but, you can only create TABLES when you use DATA _NULL_ and ODS, as currently available. You can't create "free-format" DATA _NULL_ output. The new ODS LAYOUT will allow you more free-format report capabilities for ODS PDF and ODS RTF, and possibly ODS HTML, but I don't know whether ODS LAYOUT type of region control will work with TAGSETS.EXCELXP. And, since ODS LAYOUT is experimental (or pre-production) at this point, the syntax could still change between how it works now and how it will work when the capability becomes production.
If your document/workbook layout is quite specific about print controls, orientation, print headers and footers, etc, then this paper will be of some help in explaining the print controls available to you with TAGSETS.EXCELXP.
http://www.nesug.org/proceedings/nesug08/ap/ap06.pdf
For more help in using TAGSETS.EXCELXP to create your output, you might wish to open a track with Tech Support, as they could look at an example of the output you need to create and look at your data and help you figure out the best approach.
cynthia