W programie to Ty decydujesz w jakim formacie i z jakim rozszerzeniem zapiszesz plik, to tylko binarka, a już rolą aplikacji jest odpowiednie obrobienie tych zapisanych danych.
Ale podałeś akurat zły przykład, ponieważ xlsx to nie jeden plik, a tak na prawdę spakowany folder z wieloma różnymi plikami, głównie XML. Excel otwierając taki plik xlsx dokonuje sobie jakby w locie jego rozpakowania do cache i z poszczególnych plików odczytuje potrzebne dane, ustawienia do aplikacji itp. itd.
Ty też możesz w swojej apce tak zrobić jeśli chcesz, nie ma żadnych przeciwskazań tylko pytanie po co, czy na pewno potrzebujesz takie rozbudowane hierarchie plików?