In Classic Quizzes, you can make a question group with multiple questions, each including a link to a different dataset. The question group can be set to pick one of the questions at random: How do I create a quiz with a question group to ra... - Instructure Community - 1032
A similar process can be done in New quizzes: How do I add all items or a random set from an ite... - Instructure Community - 583
Though neither is going to lead to exactly a different file for each student, since they randomize with replacement.
I have done exactly that in Classic Quizzes for a statistics class. To simplify my end, I used a Python script and the API to generate the files, upload them and then make the questions.
I have considered just giving them a seed number and have them write that seed on the spreadsheet, and have it automatically generate the random numbers, but that could be more prone to user error.