The trouble with Excel is rarely the format, since XLSX is widely readable; it is what a spreadsheet becomes over time. A file that began as a quick calculation ends up as the team's database, edited by ten people, copied into five conflicting versions, with a formula silently wrong in one of them. So the first thing to settle is what your Excel is actually doing. If it is a personal calculator or a formatting-heavy report, a full office-suite spreadsheet like LibreOffice Calc or ONLYOFFICE that reads XLSX directly is the natural landing spot. If it has drifted into a shared system of record, a relational spreadsheet like Grist fits better, because it adds typed columns, validation, and references that stop a stray paste from corrupting data.
The gaps to test before committing are automation and the Microsoft-specific edges. VBA macros do not run unchanged anywhere here, so business-critical automation is effectively a rewrite: Grist offers Python formulas and LibreOffice has its own macro system, but neither is a drop-in for the VBA object model. Advanced pivot behavior, conditional formatting quirks, and locale-driven date handling can also differ enough to change a result, so compare outputs against Excel on representative inputs rather than trusting that a file which opened without an error also calculates the same.
For anything that is really a document job, such as invoices, contracts, or statements built from data, Carbone is a different shape of answer. You design the template in a spreadsheet or word processor, drop in markers, and it fills the values and exports PDF, XLSX, or DOCX, which is cleaner than maintaining a macro-driven master workbook.