The major differences between Excel XLSX and CSV file format are the file size and the formatting.
In a *.CSV file, the file size is smaller, and the data looks like this:
(there is no formatting, just raw data)

And if you open using a text editor, you'd get this:
idx,col1,col2
123,aaa,xxx
456,bbb,yyy
789,ccc,zzz
And in a *.XLSX file, the file size is larger, and the data looks like this:
(this format allows formatting such as tables, borders, background color, bold, etc)

And if you open with a text editor, you'd get this:
PK ! A7傁n [Content_Types].xml ?(? 琓蒼?絎?D綱墶嚜??[
跺(鼄'fQU??Ql蟍&?&YB@鉲.鶼O$`璻?鼿烢偆琕嵆悑5?
镲拥 L岗b.j""%5?3缌騈锽珗?C%?妾?陕YK)ub8x僐-J轜技Q23V$瘺sU.旝?盤勾?I晔?燷県:C@i?╩23???g€/#莺矢2
泌x|`隚簼惝秛_?傃悓U燨詹w筳鋸髾s箪4去瓑-蔤e霳?e|鮫,ん佅??愸y絼s?i? 藓??s??耵V7?麛幵88彍? 梬a懏:??霤rh伥??轁鄸?? PK ! 礥0#? L _rels/.rels ?(?
<truncated>
Generally, I use CSV format to store raw data, and use XLSX format to present the data.
Answer from Adrian Ang on Stack OverflowWhat is the point of supporting CSV format when Excel completely destroys the data in the file?
Non professional level: I never work with CSVs, why is a better format than excel/.xlsx?
The major differences between Excel XLSX and CSV file format are the file size and the formatting.
In a *.CSV file, the file size is smaller, and the data looks like this:
(there is no formatting, just raw data)

And if you open using a text editor, you'd get this:
idx,col1,col2
123,aaa,xxx
456,bbb,yyy
789,ccc,zzz
And in a *.XLSX file, the file size is larger, and the data looks like this:
(this format allows formatting such as tables, borders, background color, bold, etc)

And if you open with a text editor, you'd get this:
PK ! A7傁n [Content_Types].xml ?(? 琓蒼?絎?D綱墶嚜??[
跺(鼄'fQU??Ql蟍&?&YB@鉲.鶼O$`璻?鼿烢偆琕嵆悑5?
镲拥 L岗b.j""%5?3缌騈锽珗?C%?妾?陕YK)ub8x僐-J轜技Q23V$瘺sU.旝?盤勾?I晔?燷県:C@i?╩23???g€/#莺矢2
泌x|`隚簼惝秛_?傃悓U燨詹w筳鋸髾s箪4去瓑-蔤e霳?e|鮫,ん佅??愸y絼s?i? 藓??s??耵V7?麛幵88彍? 梬a懏:??霤rh伥??轁鄸?? PK ! 礥0#? L _rels/.rels ?(?
<truncated>
Generally, I use CSV format to store raw data, and use XLSX format to present the data.
My doubt is both excel and csv file stores data in sheet.
They do not both store data in a sheet. There is no sheet in a csv file.
This is a common misunderstanding because windows uses Excel to open csv files when you double click. Excel puts the text from the csv file into a sheet, but that sheet is created by Excel, it doesn't exist in the csv file, even when you save it.
Here are some ways you can see the difference:
If you try to add a second sheet and save as csv, it will say not supported.
If you right-click > edit the csv file instead of double-click, it will open in notepad.
If you give the sheet a name like "Test", then save and close the file, then open it again, the sheet name will not be saved. Excel will use the filename as the sheet name.
If you close the file, and rename it to something like "Test.csv", then open the file in Excel, the sheet name will now say "Test".
Yet another post about this. I deal with CSV data containing large numbers of- values as well as IDs. I never save things as CSV but some of my coworkers do, and then they open it in Excel. Then Excel decides to completely destroy all large numbers.
And don’t give me the “import data as text” bullshit. Its 2024, Excel should not be destroying data and making it impossible to recover.