If the columns do not get printed correctly even after trying the solutions provided above, try exporting the data to excel file. I prefer doing so, as it allows various other operations to be done on data.
Following link will help you in exporting data to excel.
Export to Excel using VB.Net
Hope you get a good print..