Joe just posted an interesting blog concerning ways to get rendered data into the controller. While I don't agree 100% with his solution, I don't have a better idea right now. ;)
That being said - I should point out that there is an API to get view data in the controller, but it does not work well and will (most likely) be removed from Model-Glue. I'm talking about the getView() method of the event object. I had trouble getting it to work right and after speaking with Joe, I'm simply going to remove it from my code and attack the problem from another route.
Archived Comments
What I've tended to do in situations like this is have my controller store a reference to either itself or (better) another CFC from the model into the event object. Then the view can perform essentially a callback into the model based on the data.
In other words, I turn Joe's solution on its head and use a *view* for the rendering but then have another view whose sole purpose is to take the (now-rendered) view and perform the callback on it:
callbackObj = viewState.getValue("callback");
callbackObj.logViewData(viewCollection.getView("excelData"));