Cancelling is a bit of a loose term and we all need to understand what you mean by it; please clarify.
I will give you my take; it may not be what you mean but hopefully will give some food for thought.
To me, saying that the Sprint is cancelled implies that the Sprint was stopped for some reason before the agreed finish date/time; that reason would, normally, only be because the DevTeam consider that they are unable to meet the Sprint Goal set at the Sprint Planning session; that would normally occur if some 'big' problem arose that could not be sorted by the agreed end-of-Sprint.
So, let's say we are 5 days in to a 10 day (2 weeks in my work days!) and the team agree that the Product Owner should be advised to stop the Sprint (only the PO has that right!).
There may have been some PBI Done which could be reviewed but can you get the reviewers/appropriate stakeholders together before the agreed Review data and time?
There is definately one 'ceremony' that must take place as soon as possible and that is a discussion between the whole Dev Team and PO bout what to do; a sort of Sprint Planning if you like but with a lot more soul searching.
Given that there is an agreed way forward from such a discussion, the next thing is to work out the Sprints schedule. The Dev Team will have (should have!) already advised the stakeholders of the dats/time for Sprint REviews at the beginning of the development so that they can put the events in thir calendars; you don't really want to mess with those dates/times because some of the stakeholders may not be able to meet the new schedule.
My advice (and practice) is to inform stakeholders that 'this' Sprint review has been cancelled; issue a new Sprint Plan to include the new, longer, Sprint so that the review of the 'next' Sprint stays at the same date/time; in my example above, the new Sprint will be 15 days, the review for which will include any PBI Done in the Sprint that was stopped. Of course, the new Sprint Plan will include all the PBI to be attempted just as always.
As David has said, what the Dev Team MUST do before starting the new Sprint is to hold a Retrospective; they may want to hold it before the disussion with the PO so as to be able to suggest ways forward from which the PO can decide.
Another thing to consider is how close to the Sprint end date should you stop it if 'needed,? My rule of thumb is up to 3 days but it is mine and others may disagree (I know some do not believe that a Sprint should be stopped ever!).
Just to put all that in context, in nearly 20 years of Managed RAD/Agile/Scrum I have only experienced stopping a 'Sprint' twice and one of those occasions was very political in order to get some senior technical mangers to try to understand the need for multi-disciplinary teams.
I hope that this is not happening in your organisation often!
Bon chance