I’ve not done it myself, but I suspect it’s just a matter of giving the generated report file a predictable name, then adding a File column to your table that contains that name.
Note that AppSheet caches files, so if the file name is fixed but the content changes, the user will only be able to download the earliest version and won’t see the updates. To allow the user to get updates, the file should be given a different name with each update. By default, AppSheet adds a timestamp to each generated file’s name to accomplish this, but this then means the app won’t know what exact name the file is given. To get around that, disable the automatic timestamp and generate a unique filename yourself so you know exactly what name the file will be given.