« PHE had set up an automatic process to pull this data together into Excel templates [...] When [the row limit] was reached, further cases were simply left off. »
The terrible thing here is dropping data rather than reporting an error and refusing to run.
It isn't clear what piece of software was behind this "automatic process".
Clearly the responsible humans are to blame.
If the software that dropped data rather than failing has that as its default behaviour, or is easily configured to do that, then I think that software (and its authors) are also to blame.
Is there anything in Excel itself that behaves like that?