When savng to excel from a power app, there is no way to ensure an ID is unique. A typical technique is to increment a number based on the number of rows (e.g. NewID: CountRows(src)+1) or the ID of the last record (e.g. NewID: Last(src).ID+1). This works well for a single user scenario but fails when there is more than one instance of the application that is using the same logic. There is a window of time from when the applicaiton makes the new ID calculation to when it actually saves the data. If a another application computes the ID during that time, both apps will be computing the same ID value and then saving it. Even making this window as small as possible leaves the opptortunity to fail. Also there is no easy way to clean up or resquence these IDs from a power app since a patch and forall function do not allow for variables to be incremented as records are committed.