either change your data set to have columns in the order you prefer, or don't use proc export.
(I would recommend the latter)
Instead of proc export use:
ods listing close ;
ods csv file= 'this.csv' ;
proc print data= this_data noobs ;
var required columns in the preferred order ;
ods csv close ;
ods listing ;
OK, it just creates the data in a form (very) ready for excel, but would something else achieve what you really need, as simply ?
"either change your data set to have columns in the order you prefer ..."
I had some code a long time ago that would do this but it is now lost. How do you change the data set to have columns in order of my preference? I think the code I had was able to change the position attribute of variables. Searching SAS help hasn't led me to any methods that will do this.
or better still, please explain why internal order has any relevance to all users of the data table,
please do that in another forum
ODS and base SAS Reporting have many ways to help you select the required order. They just have no way of knowing the order you are going to need next. I see only simplicity in the current scheme - when reporting you specify the column order you want. I see only disappointment in preparing "column order", for later, or for someone-else.