It looks to me that what you are asking for, while inconsistent (is this an Excel spreadsheet or an Access report?) can be done with the Access report.
Create a module, and then within the module, create 35 public variables As Boolean:
Public bCheck1 As Boolean
Public bCheck2 As Boolean
Then on the form that launches the report, set the value of the boolean based on the check box state:
If Me.Check1.Value = True Then
bCheck1 = True
bCheck1 = False
If Me.Check2.Value = True Then
bCheck2 = True
bCheck2 = False
Then on the On Format event of the Report's Detail section, do this:
Me.Column1.Visible = bCheck1
Me.Column2.Visible = bCheck2
This will set the Visible property of each column to either True or False, depending on whether the checkbox was checked or not.
If you wanted to be more rigorous, you could make sure that the default value of each check box is set to false.
Did that help? Does that resolve all your issues, or do you still have the export to Excel issue?
Look it up at: http://wrox.books24x7.com