From my attempts, it is hard to get it right without sending the output through some .net code to make it email friendly. I couldn't do it with VC tasks alone.
Therefore I have created a C# class where you pass in these 3 parameters:
The sql output from the previous task (or any other task): {TASK(PrevTask,StdOut)}
The title line for your table eg: Name;City
The separator used in title and data, eg semicolon: ;
The class then returns a table that looks pretty decent in outlook at least. You then pass this result to a email job where you have checked 'send as html'. It is a bit of work to set up, and you have to call a .net assembly. Once it is done however, you can use it all over the place and it saves you work in the future. If you are interested, I can give you the code I have.