For a fixed width, remove the width attribute from the table, and apply width attribute to the <th> tag.
If you want the table to take full width of the available width, add the width: 100% attribute to the table tag, this will automatically make the table wider and it will expand the columns.
OK, I figured out what the issue is. It seems like there is an issue with regard to how WIDE an HTML table can be. As you can see from the original image above, the columns are dates, with a “staff” and “total” column too. I found that I can fit 22 days before the table header starts to wrap (no matter what attributes I added/removed/adjusted).
In that case, it’s better if you make your columns into rows. You can have as much rows as you want without text wrapping or some other issues that occur with more columns.