display pdf winform c# : Rotate pdf pages and save application control tool html azure web page online 016-20091-part9

11 
Display 11. Paneled output generated with the TableEditor tagset 
REPORT WRITING AND THE DATA STEP 
The object-oriented DATA step is currently a preproduction feature in SAS 9.2. This feature provides a way to 
generate reports that are even more customized than what you could generate in previous versions of SAS and 
ODS. This feature also works with all destinations except the listing destination. The object-oriented DATA step 
enables you to explicitly build your output one cell at a time, which gives you full control of the layout.  Because you 
are building one cell (the lowest level) at a time, the DATA step syntax can be verbose.   
To begin creating output with the object-oriented DATA step, you first have to declare a DATA step object with a DCL 
statement, as shown here:    
dcl odsout obj(); 
After you declare the object, you can apply methods to it that define the object’s behavior.  For example, methods 
such as IMAGE(), TITLE(), and PAGE() instantiate the object and instruct it to add images, titles, and explicit page 
breaks. Some of the more popular methods are those used to generate a table, for example, TABLE_START(), 
ROW_START(), and CELL_START(). These methods, respectively, start a table, add a row, and add a cell. The 
ROW_END() and TABLE_END()  methods end a table, as it is closed, in the same order it was started. If you are 
familiar with HTML syntax, building tables with these object-oriented DATA step methods should sound familiar 
because both tools use the same concept of the table structure. The object-oriented DATA step methods can also 
contain  
arguments that define what text or variables to display 
various options, including the OVERRIDES option, which enables you to pass style attributes 
The following example uses the FORMAT.CELL() method and an override to specify the various style attributes 
(OVERRIDES:, JUST=, and FONT_SIZE=). 
obj.format_cell(text:”This is an example”, overrides:”just=center font_size=18pt); 
The object-oriented DATA step also enables you to specify the layout of the output, including both absolute and 
gridded layouts. When you create a layout, you need to specify one or more regions for the layout.  Example 12 uses 
the GRIDDED() and REGION() methods to create a gridded layout with two columns. The first region contains a 
table with columns and rows that span the table, and the second region imports an image.  
Note: This example shows only a segment of the full code that generates the output described above. To download 
the full object-oriented DATA step, see “References.” 
Example 12 
data one; 
input cash_asset inventory_asset accountr_asset return_liab retain_liab; 
net_income=sum(cash_asset,inventory_asset,accountr_asset)-    
sum(return_liab,retain_liab); 
total_assets+sum(cash_asset,inventory_asset,accountr_asset); 
total_liab+sum(return_liab,retain_liab); 
balance=total_liab+net_income; 
Applications Development
t
SAS Global Forum 2009
09
9
Rotate pdf pages and save - rotate PDF page permanently in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Users to Change the Rotation Angle of PDF File Page Using C#
rotate individual pages in pdf reader; rotate one page in pdf
Rotate pdf pages and save - VB.NET PDF Page Rotate Library: rotate PDF page permanently in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
PDF Document Page Rotation in Visual Basic .NET Class Application
rotate single page in pdf file; pdf reverse page order preview
12 
cards; 
20000 50000 10000 30000 30000 
run; 
options nonumber nodate nocenter; 
ods listing close; 
ods pdf file='c:\temp\test10.pdf' notoc; 
ods escapechar='^'; 
title; 
data _null_; 
set one; 
dcl odsout obj(); 
obj.title(text:"^S={just=c} Balance Sheet For XYZ company",     
overrides:"just=c"); 
obj.layout_gridded(columns:2); 
obj.region(); 
obj.table_start(overrides: "just=l "); 
obj.row_start(); 
obj.format_cell(text: "^S={Font_size=18pt} Trial Balance Sheet",     
column_span:3,overrides:"just=c background=skyblue"); 
obj.row_end(); 
obj.row_start(); 
obj.format_cell(text: "Item",overrides:"font_size=14pt"); 
obj.format_cell(text: "Assets",overrides:"background=yellow"); 
obj.format_cell(text: "Liabilities",overrides:"background=red”); 
obj.row_end(); 
obj.row_start(); 
obj.format_cell(text: "Cash"); 
obj.format_cell(text:put(cash_asset,dollar.), 
overrides:"background=yellow just=r"); 
obj.format_cell(text:"$0",row_span:2
overrides:"just=r background=orange vjust=m"); 
obj.row_end(); 
. . . more method statements. . . 
obj.row_start(); 
obj.format_cell(text:"Company has been certified as viable for  
2008",column_span:3,overrides:"just=c  
background=yellow"); 
obj.row_end(); 
obj.table_end(); 
obj.region(); 
obj.table_start(); 
obj.row_start();        
obj.format_cell(text:"",overrides:"preimage=""c:\balance_sheet5.gif"""); 
obj.row_end(); 
obj.table_end(); 
obj.layout_end(); 
run; 
ods pdf close; 
Applications Development
SAS Global Forum 2009
09
9
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
doc.Save(outPutFilePath). How to VB.NET: Delete Consecutive Pages from PDF. This is a VB .NET example for how to delete a range of pages from a PDF document.
save pdf after rotating pages; pdf rotate single page reader
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
doc.DeletePage(2); // Save the file. doc.Save(outPutFilePath); Demo Code: How to Delete Consecutive Pages from PDF in C#.NET. How
how to rotate page in pdf and save; rotate pdf pages individually
13 
Display 12. Object generated with a DATA step 
GENERATING EFFECTIVE WEB APPLICATIONS 
ODS has quite a few features on its menu that help you generate effective Web applications. Practically everyone 
has access to a Web browser, so a Web application is a logical choice for your reports. The ODS HTML destination 
is the backbone of the system when it comes to generating Web applications. The HTML destination is great for  
creating links from discrete parts on a page that enable you to drill down to summary or detail information.  You can 
also enhance and control your Web output in a variety of ways, such as the following: 
using ODS Markup Language and tagsets 
creating dynamic output with products as SAS/IntrNet
®
software 
creating stored processes, which are rendered by client software such as SAS
®
Enterprise Guide
®
the  
SAS
®
Stored Processes Web application, or other SAS client software 
DRILL-DOWN TECHNIQUES  
Drill-down techniques enable you to start at a high level in a table or image and use hyperlinks to navigate to 
information on the same page, to deeper levels of information within the same application, or to information in other 
applications or files. For example, you might link to an Excel spreadsheet (or a specific cell within the sheet), to 
bookmarks or to a page in a PDF or an RTF file, or to a specific slide in a PowerPoint application. This technique is 
very effective for analyzing data further.  
Various methods for creating hyperlinks are available within SAS: using formats, creating anchor tags or links within 
a DATA step, using the TEMPLATE procedure, using styles, and so on. In addition, if you are linking from a Web 
page to a PDF file, Adobe Acrobat also supports commands that you can use in the link syntax to determine what 
zoom mode, page mode, view, and other properties are in effect when a PDF file is open.   
This next example illustrates how you can use PROC REPORT to create hyperlinks. To create a drill-down hyperlink 
with PROC REPORT, you use a CALL DEFINE statement along with the URL attribute and a compute block. These 
components enable you to create correct links, regardless of the destination that you are using.  As shown in 
Example 13, the CALL DEFINE statement is created within the COMPUTE statement block. When you specify the 
URL access method in the CALL DEFINE statement, PROC REPORT uses the path you specify to construct the link 
for the cell. This method eliminates having to know destination-specific tagging to create the link. You can also 
modify the specified path so that the link changes based on the contents of the cell.     
Example 13 
/* Create a sample Excel worksheet. */ 
ods tagsets.excelxp file="c:\temp\excel.xls"  
options(sheet_interval="bygroup" 
sheet_label=" " 
embedded_titles="yes"); 
proc print data=sashelp.prdsale noobs; 
by country; 
title "Report for the #byval(region)"; 
run; 
Applications Development
SAS Global Forum 2009
09
9
C# PDF Page Insert Library: insert pages into PDF file in C#.net
how to merge PDF document files by C# code, how to rotate PDF document page doc2.Save(outPutFilePath Add and Insert Multiple PDF Pages to PDF Document Using
how to reverse pages in pdf; save pdf rotated pages
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
Able to extract PDF pages and save changes to original PDF file in C#.NET. C#.NET Sample Code: Extract PDF Pages and Save into a New PDF File in C#.NET.
rotate pages in pdf; reverse page order pdf online
14 
ods tagsets.excelxp close; 
ods html file="temp.html" style=sasweb; 
proc report data=sashelp.prdsale nowd; 
col country region predict actual division prodtype product ; 
title "Linking to Excel"; 
compute country; 
tmp_region="c:\temp\excel.xls#'"||trim(left(country))||"'!A1"; 
call define(_col_,'URL',tmp_region); 
endcomp; 
run; 
ods html close; 
You can also generate drill-down links with graphics procedures (for example, the GCHART procedure) that support 
the HTML= option. In such a procedure, you create a variable that contains the path to which you want to link. Then, 
you specify the variable in the HTML= option of an action statement (in Example 14, the VBAR statement). Graphics 
procedures, such as PROC GCHART, build the appropriate destination-compatible links. Then, you can click on 
these links to drill down to other information, tables, or graphs. 
Example 14 uses PROC GCHART to build links that drill down to the Excel file that was created in Example 13. 
Example 14 
data one; 
set sashelp.prdsale;            
linkvar="href=""c:\temp\excel.xls#'"||trim(left(country))||"'!A1"""; 
run; 
goptions hsize=5in vsize=5in; 
ods html file="temp.html" style=sasweb; 
proc gchart data=one; 
vbar country /  sumvar=predict patternid=midpoint type=sum html=linkvar; 
run; 
quit; 
ods _all_ close
;
Display 13. Drilling down in a table and graphics in an Excel worksheet 
ODS MARKUP LANGUAGE AND THE TABLEEDITOR TAGSET 
ODS Markup Language and tagsets are powerful tools that give you complete control over output that is generated 
when you create Web applications. These tools give you control over the tags that are generated using the ODS 
Markup Language. For example, with ODS Markup Language you can rename, reorder, and remove tagging. A  
Applications Development
SAS Global Forum 2009
09
9
VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
outPutFilePath As String = Program.RootPath + "\\" Output.pdf" Dim doc1 doc2.InsertPages(pages, pageIndex) ' Output the new document doc2.Save(outPutFilePath
pdf rotate page; rotate pdf page by page
C# Create PDF from Tiff Library to convert tif images to PDF in C#
Similarly, Tiff image with single page or multiple pages is supported. Description: Convert to PDF and save it on the disk. Parameters:
rotate individual pdf pages reader; how to rotate a page in pdf and save it
15 
powerful feature of ODS Markup Language (beginning with SAS 9.1.3) is the ability to add options. Adding options 
enables you to trigger various pieces of functionality, regardless of the procedure that is being executed.  
In particular, the TableEditor tagset enables you to greatly enhance a Web application with functions such a dynamic 
sorting of data by clicking on the column headings, filtering data, freezing headers and row header, adding  images 
and JavaScript, and alternating colors. For details about the TableEditor tagset, see “Creating a Data Grid Like 
VB.NET” (support.sas.com/rnd/base/ods/odsmarkup/tableeditor/index.html). Note: The TableEditor tagset is not 
installed with SAS, but you can download it from the Web page mentioned here or by using the URL access method 
in a FILENAME statement, as follows: 
filename temp url   
http://support.sas.com/rnd/base/ods/odsmarkup/tableeditor/tableeditor.tpl’; 
%include temp; 
Example 15 uses options with the TableEditor tagset to add sorting and filtering on a column, a banner, alternate 
background colors, and frozen headers to a Web application. 
Example 15 
ods tagsets.tableeditor file="temp.html" style=sasweb 
options(sort="yes" doc="help"               sort_underline="yes"  
sort_arrow_color="Red"   frozen_headers="yes"     
banner_color_even="pink" highlight_color="cyan"  
autofilter="yes"         autofilter_width="4em" 
image_path="c:\sas.gif" 
image_just="right"       print_dialog="yes");  
proc print data=sashelp.retail; 
format date mmddyy8.; 
title "Data Grid Created with the TableEditor"; 
run; 
ods tagsets.tableeditor close; 
Display 14. Output from the TableEditor tagset 
You can also use the options with the TableEditor tagset to export output to Excel and to modify the Excel file that is 
generated. You can also directly create a native Excel file. Options are available that enable you to modify 
orientation, add filters, freeze headers, change the zoom, add pivot tables, provide graphics, save files with various 
formats, and so on. When you specify any of the Excel options, an Export button is added to the HTML file. The only 
time this is not the case is when you specify either the AUTO_EXCEL option (which automatically generates the 
Excel file when the HTML is loaded in the browser) or the AUTO_FORMAT_SELECT (which exports the file when a 
style is selected). If you do not need the HTML file, it can be created as a temporary file. You can change the text of 
the Export button by specifying new text in the BUTTON_TEXT= option. 
Applications Development
SAS Global Forum 2009
09
9
C# Create PDF from Word Library to convert docx, doc to PDF in C#.
Able to get word count in PDF pages. Change Word hyperlink to PDF hyperlink and bookmark. Description: Convert to PDF/TIFF and save it on the disk.
how to rotate one pdf page; rotate individual pages in pdf reader
C# PDF Convert to Tiff SDK: Convert PDF to tiff images in C#.net
Description: Convert to DOCX/TIFF with specified zoom value and save it into stream. Parameters: zoomValue, The magnification of the original PDF page size.
how to rotate pdf pages and save; rotate pages in pdf online
16 
Example 16 
ods tagsets.tableeditor file="temp.html"  
options(excel_autofilter="yes"  
excel_zoom="90" 
excel_scale=”90” 
excel_frozen_headers="yes 
excel_orientation="landscape" 
sheet_name="Retail,Class,Citimon" 
excel_table_move="1,2,3" 
auto_format_select="yes");  
proc print data=sashelp.retail; 
title "Export to Excel by Selecting  
Styles"; 
run; 
proc print data=sashelp.class; 
run; 
proc print data=sashelp.citimon; 
run; 
ods tagsets.tableeditor close; 
Display 15. Selecting Excel styles and adding Excel 
Formats 
USING ODS WITH STORED-PROCESS APPLICATIONS  
The custom tagset can also be used with dynamic applications such as a stored process. To execute a stored 
process, you start with the %SSTPBEGIN macro, which initializes ODS and generates output to the client. As shown 
in the following example, you control ODS options in the process by using reserved global macro variables. These 
variables control everything from the style to the ODS destination, and they must be specified before the 
%STPBEGIN macro. The process is ended with the %STPEND macro. When you are using a stored process, the 
default destination is HTM.  
Example 17 
%let   _ODSDEST=tagsets.tableeditor; 
%let   _ODSSTYLE=SASWEB; 
%let   _ODSOPTIONS=RS=NONE; 
%let   _GOPT_DEVICE=activex; 
* processbody; 
%stpbegin; 
proc print data=sashelp.class; 
run; 
%stpend; 
For more details on stored processes, see “SAS Stored Processes Web Application” 
(support.sas.com/rnd/itech/doc9/dev_guide/stprocess/stpwebapp.html). 
CREATING AND ENHANCING STYLES   
Creating styles have never been easier than it is with SAS 9.2. Numerous software enhancements make this 
process much easier, and ODS has capabilities to accommodate every style.  You create styles, primarily, with 
PROC TEMPLATE, cascading style sheets (CSS), and inline formatting. PROC TEMPLATE creates a style template 
that is a member of an item store. Templates are specific to SAS and work across all ODS destinations, which 
enables formatting. Cascading style sheets, which are simply text files, are an industry standard for formatting 
markup output. Inline formatting, which became a production feature in SAS 9.2, can also be used to format text or 
data locally.   
Applications Development
SAS Global Forum 2009
09
9
17 
SAS
®
9.2 TEMPLATE PROCEDURE  
Style inheritance in PROC TEMPLATE has been enhanced in SAS 9.2. The inheritance cycle has been modified to 
add the following templates: 
Base.Template.Style, which is the parent of all style definitions and does not have a parent itself 
Base.Template.Table, which is the parent for all tables 
Modifying this template provides the functionality to alternate row and column colors.  In addition, the REPLACE 
statement has been deprecated in favor of the DEFINE STYLE and the CLASS statements. This enhancement 
reduces the length of code that is required to modify a template. 
In the following SAS 9.1 example, the REPLACE statement specifies the complete list of indirect style references 
within the style element GraphFonts that is required to modify the indirect style reference GraphTitleFont.   
Example 18 (SAS 9.1) 
proc template;                                                                 
define style Styles.NewStyle;  
parent=styles.default;                                               
replace GraphFonts "Fonts used in graph styles" /                                        
'GraphDataFont'=("Arial",8pt)                                       
'GraphValueFont'=("Arial",10pt)                                     
'GraphLabelFont'=("Arial",12pt,Bold)                                
'GraphFootnoteFont'=("Arial",12pt,Bold)                             
'GraphTitleFont'=("Arial",14pt,Bold); 
end; 
run; 
However, with the SAS 9.2 DEFINE STYLE and the CLASS statements, only the indirect style is required, as shown 
here.  
Example 19 (SAS 9.2) 
proc template;                                                                 
define style Styles.NewStyle; 
parent=styles.default;                                                
class GraphFonts /                                        
'GraphTitleFont'=("Arial",14pt,Bold); 
end; 
run; 
ods html file=”temp.html” style=Styles.NewSyle; 
. . .PROC GCHART code. . . 
ods html close; 
Display 16. Title font modification using the new CLASS statement 
Applications Development
SAS Global Forum 2009
09
9
18 
The CLASS statement creates liked-named style elements; therefore, all three of the following statements do the 
same thing: 
class GraphFonts; 
style GraphFont from GraphFontss; 
style Graphfonts from _self_; 
CASCADING STYLE SHEETS  
Cascading style sheets (CSS) are created by default with some destinations such as the HTML destination 
(beginning in SAS
®
9). CSS files can be either external or embedded. However, the HTML destination creates an 
embedded CSS file by default. Prior versions of the HTML destination that used HTML 3.2 used tagging to provide 
the formatting. You can also apply your own existing CSS file by using the STYLESHEET= option with the URL= 
suboption. Warning: Omitting the URL= sub-option overwrites the existing CSS file.  
You can also specify multiple CSS files within the URL= suboption, but they must be separated by commas.  If your 
file path contains spaces, as shown in Example 20, you must include %20 in place of the space in the file path. 
Otherwise, ODS will recognize what follows a blank space as the beginning of a new CSS file. Removing the URL= 
sub-option enables you to create a CSS file based on the style. 
Example 20 
ods html file=”temp.html” stylesheet=(url=”c:\documents%20settings\file.css”); 
proc print data=sashelp.class; 
run; 
ods html close; 
READING CUSTOM CSS FILES 
In a perfect world, your CSS files would match the CSS files in SAS software, and ODS could use the same style-
sheet rules. However, that is not the case. If you have a custom CSS file that does not follow the naming 
conventions ODS expects, you must specify what ODS should do with the various class or ID selectors in your file. If 
the class selectors are not what ODS expects, the application simply ignores them. Therefore, you must modify your 
CSS file so that its naming conventions correspond to what ODS expects, or you need to associate ID or class 
selectors in the file to the corresponding style elements within PROC TEMPLATE. The style attributes that are used 
to associate the CLASS and ID within PROC TEMPLATE are the HTMLCLASS= and the HTMLID= attributes. These 
attributes enable you to use a class or an ID from your custom CSS file, which does not contain the same naming 
convention as what ODS expects. The CLASS= HTML attribute generated in a file that is created by a SAS
®
9 ODS 
HTML statement consists of multiple classes. The first class represents the justification, and the second class 
represents the presentation.   
In the following example, the left column illustrates a CSS style-sheet rule with various style properties that you might 
want for the cell value of an HTML file. The right column illustrates a TEMPLATE procedure that uses the style from 
the CSS file. 
Example 21 
Custom CSS file                                                                       TEMPLATE Procedure with HTMLCLASS= Option  
.Cell_Value 
font-family: Arial, Helvetica, sans-ser 
font-size: small; 
font-weight: normal; 
font-style: normal; 
color: #000000; 
background-color: #D3D3D3; 
proc template; 
define style styles.test; 
parent=styles.default; 
style data from data / 
htmlclass=”cell_value’; 
end; 
run; 
Before you use the HTMLCLASS= option, the tag that is used in the HTML file is <td class=”| data>value</td>. 
After you use the HTMLCLASS= option, the tag that is used in the HTML file is <td class=”| cell_value>value</td>. 
Applications Development
SAS Global Forum 2009
09
9
19 
THE CSSSTYLE= OPTION  
SAS 9.2 introduces the CSSSTYLE=ODS option, which enables you to format output that is generated for the HTML, 
RTF, and PDF destinations. To format the output, you must provide a CSS file path as an argument. The class 
selector in the CSS file must follow the conventions that ODS expects. This option is also useful in software such as 
Base SAS
®
and SAS Enterprise Guide. For example, you can use modified styles that are generated with the Style 
Manager in SAS Enterprise Guide. 
Example 22 
ods pdf file=”temp.pdf” cssstyle=”c:\your-file.css”; 
proc print data=sashelp.class; 
run; 
ods pdf close; 
IMPORTING CSS FILES 
Another major enhancement in SAS 9.2 is the ability to import a CSS file into a template definition. Before SAS 9.2, if 
you needed a template definition that could be used with the RTF and PDF destinations, you had to manually 
convert the CSS style into the appropriate template definitions. With SAS 9.2, PROC TEMPLATE has an IMPORT 
statement that imports a CSS file and creates a template style definition from it. This template definition can then be 
used by all ODS destinations that support styles. The class selectors must match the naming conventions that ODS 
expects in the CSS file.  
In the following example, the left column illustrates a CSS file that is imported by the TEMPLATE procedure in the 
left column. The templates in the procedure use classes from the parent template, with the exception of those 
classes (.Data, Header, and Rowheader) that are imported from the CSS file.  
Example 23 
CSS file        
Template Procedure 
.Data, .Header, .Rowheader   { 
background-color: white; 
color:blue; 
font-size: small; 
proc template; 
define style styles.Newstyle;  
parent=styles.default; 
import "StyleSheet.css"; 
end; 
run;   
ods html file=”temp.html” 
style=styles.Newstyle; 
proc print data=sashelp.class;run;                    
ods html close;                                                    
MICROSOFT OFFICE APPLICATIONS 
There are a variety of techniques available that enable you to integrate SAS output into Microsoft Office applications. 
These techniques involve the use of several tools and applications, including ODS, dynamic data exchange (DDE), 
the EXPORT procedure, SAS Enterprise Guide, SAS
®
Add-in to Microsoft Office, the XML Engine, the RTF 
destination, and so on. With all of these available methods, how do you know which one to use? The answer 
depends on your application requirements, what versions of SAS and Microsoft applications you have, and what kind 
of output you need. For example, if you want presentation-quality output with Excel that includes formatting such as 
traffic-lighting (highlighting data based on value) and hyperlinks, you can use tools such as the ODS ExcelXP or the 
ODS MSOffice2K destinations. However, if you need a file that is similar to the appearance of default Excel file or a 
very small file, then the CSV destination is probably a better choice. This section concentrates specifically on ODS 
methods for generating presentation-quality output. 
Applications Development
SAS Global Forum 2009
09
9
20 
Figure 1. ODS destinations that are used to generate output for Microsoft Excel 
THE ODS EXCELXP DESTINATION 
In SAS 9.1 or later, the ExcelXP destination is the preferred method for generating Excel output. This destination is 
powerful, flexible, easy to use, and works on all operating systems. If follows the SpreadsheetML format, and it is the 
first non-native format for Excel to support multiple worksheets per workbook. ExcelXP uses ODS Markup Language 
to emulate the SpreadsheetML format. ODS Markup Language enables a tagset request to be transformed into the 
XML Spreadsheet format, which can be read by Excel 2002 or later. Since SAS 9.1.3, ODS Markup Language has 
had the ability to add options. The ExcelXP destination takes advantage of this feature, with more than 50 options in 
its tagset.   
The ExcelXP options enable you to modify most of the more commonly used features in Excel, including adding 
frozen headers and row headers, generating filters, fully customizing the page setup, and so on. The 2003 
SpreadsheetML specification has some limitations. Those limitations include the inability to generate graphics, 
outlines, and macros, among other things.  For most other items, there are options that can be used to drive this 
behavior. 
The following example uses some common display options that generate presentation-quality output.  (To see a full 
list of options and syntax, use the DOC="HELP" option. The list of options and syntax will appear in your log.) This 
example embeds the title within the worksheet, adds frozen headers and rows, adds filters, specifies a column width 
and automatic cell height adjustment, modifies the default sheet names so that it specifies BY groups, removes the 
sheet label, and suppresses the BY line.  
Example 24 
ods tagsets.excelxp file="temp8.xls" options(doc=”help” embedded_titles="yes" 
autofilter="1-3" frozen_headers="3" 
frozen_rowheaders="1" 
absolute_column_width="8.5,11,7,9,8,8" 
autofit_height="yes" 
sheet_interval="bygroup" 
sheet_label=" " 
suppress_bylines="yes") style=normal; 
proc print data=sashelp.shoes noobs; 
title "Detail of Region #byval(region)"; 
by region; 
run; 
ods tagsets.excelxp close; 
SAS 9.2  
MSOffice2K  
ExcelXP     
Excel 2002+ 
No Creating Graphics
Excel 2000+ 
CSV 
HTML3 
No Formatting 
Excel 97+ 
Applications Development
SAS Global Forum 2009
09
9
Documents you may be interested
Documents you may be interested