Great idea. I usually find it better to use the information_schema views so I altered your stored procedure as follows
select
o.[table_name] as 'table_name',
c.ordinal_position as 'column_order',
c.[column_name] as 'column_name',
e.value as 'column_description',
C.DATA_TYPE as...