How do you do batch editing / creation?

How do you do batch editing / creation? (Desktop web)

Batch editing is when you have multiple records to be edited at the same time but each has different values, even for the same field. For example you get an email with an attached xls of students who changed their names over the summer break. You're updating the names of 100 people, each one to update for their new surname.

The two approaches I've seen are templates and no templates. Templates: download xls template > copy-paste your information to the template and save > upload file > preview rows to update highlighting diffs > save to DB. No template: upload the file with your data > preview data > select columns for mapping and validation > save to DB.

I'm not crazy about either one and maybe I'm missing stuff. The template option seems to be less development work but all that copy paste opens the door wide for human error. The no template option, seems like i would be building a massive system for a relatively minor function.

How do you handle batch editing?