Altium Single Sheet BOM Generation
Couple of ways that I know to do it, but there could be more.

1) You can use an output job.  Then create a new report output for each schematic page by setting the data source to that page.

2) Add schematic page information to each line item in your BOM.  Using an output job, you can add the parameters DocumentFullPathAndName, DocumentName, and DocumentNumber.  Between these fields, you should be able to generate a BOM for the whole project, then sort the data into excel for each sheet.

I'm using Altium 17, but these features have been around for a while.