Most BBCode additions can only take two variables. (i.e. [ color=var1]var2[ /color]) although it is possible to set up multiple instances to allow nesting. The problem is that people could place them in the wrong order or not nested, breaking the overall hardwritten code of formatting. Tables can generate set formatting, however they don't work so well if they are broken. It might be possible to generate a AJAX table creation code, but in all essence if you are after formatting just data into a table, you might be best either using a spreadsheet or just coping a screenshot of a spreadsheet from your computer.