How to generate a report excluding recurring contributions?
ReportPlus (https://civicrm.org/extensions/reportplus) is worth looking at.

The included template report for 'Contribution Matrix Plus' definitely has a filter for 'Contribution is Recurring? - Any, Yes, No' already and I suspect some of the other templates will do too.