How to load large data synchronously?

I have excel file large data set. Around 10K rows.
I have written the following method to load the data.

Future<List<DayData>> loadxlsasync() async{
    ByteData data = await rootBundle.load("assets/MyData.xlsx");
    var bytes = data.buffer.asUint8List(data.offsetInBytes, data.lengthInBytes);
    var excel = Excel.decodeBytes(bytes);
  }
  1. I’m calling this method load the data.
  2. I would like show the UI only after loading the data.
  3. UI should not be shown or show some busy indicator till the data is loaded.

How do I make the UI to wait till data is loaded or show busy Indicator ?

OR

Is there a way to make the following loading synchronous ? like the following ?
I tried to do it. However rootBundel.load returns the future. Hence it is not allowing.

  void loadxlsasync() {
    ByteData data = rootBundle.load("assets/MyData.xlsx");
    var bytes = data.buffer.asUint8List(data.offsetInBytes, data.lengthInBytes);
    var excel = Excel.decodeBytes(bytes);
  }