Here's an update: We've successfully migrated our existing DDE macros to use SAS/IML to call R to mimic DDE functionality. We have two versions of our macros; each using a different R package to create excel files: Openxlsx and xlConnect. They each have different features; one does better with graphics, the other does better with cell formatting, that sort of thing. Lessons learned: If creating an excel worksheet with lots of numbers/characters placed into different cells, it helps substantially to collate requests to population various cells within the SAS program and then call R one time with all of the various requests passed at a single time. Naively calling R each time a value or set of values have been created will substantially impact the time it takes to create an Excel file due to the, relatively, large overhead required by invoking R and having the R packages open the excel file. Comment: I'm still surprised that SAS hasn't addressed this by providing a native functionality to write to individual cells in an Excel spreadsheet. After all, I'm pretty sure that figuring out the XML scheme behind Excel files should be doable as evidenced by the work of the R package creators. I'm also sure that SAS could figure out a way to delay writing to Excel in order to avoid I/o overhead. One possibility would be to write to memory instead of an excel file directly and then once the last record in a data step was processed, save the data in memory to an excel file. Anyway, it's still on my wish list for SAS to invest some modicum of resources into supporting this feature.
... View more