Show HN: tuisheet, a terminal spreadsheet compatible with OpenXML (xlsx) files

2 pointsposted 6 hours ago
by krackout

5 Comments

ukadakal

4 hours ago

Very cool project! For those of us old enough to remember working this way, it’s really nice to see a modern take on it.

Curious how extensive the formula support is. How many Excel functions do you currently support, and how do you handle more complex formulas and dependencies between cells or dynamic array formulas, etc.?

krackout

3 hours ago

Thank you! Perhaps I should add the supported functions in README.md. There is a list in programme's help (F1) with a small summary from each one. I copy from there:

ABS, AND, AVERAGE, AVERAGEIF, COLUMN, COUNT, COUNTA, COUNTIF, COUNTIFS, DATE, DAY, DAYS, EXACT, EXP, FILTER, FIND, HLOOKUP, IF, IFERROR, IFNA, IFS, INDEX, INDIRECT, INT, IPMT, ISBLANK, ISERROR, ISNUMBER, ISTEXT, LEFT, LEN, LET, LN, LOWER, MATCH, MAX, MID, MOD, MONTH, NA, NOT, NOW, OFFSET, OR, PI, PMT, POWER, PPMT, PRODUCT, RIGHT, ROUND, ROUNDUP, ROW, ROWS, SQRT, SUBSTITUTE, SUBTOTAL, SUM, SUMIF, SUMIFS, SUMPRODUCT, TEXT, TEXTJOIN, TODAY, TRIM, TRUE/FALSE, UPPER, VALUE, VLOOKUP, WEEKDAY, XLOOKUP, YEAR,

Regarding the 2nd part of your question, I quote from the LLM: Complex scalar formulas with deep, cross-sheet, and indirect dependencies are fully evaluated with cycle safety; range/array inputs compose inside aggregations, but dynamic-array spilling is not implemented — multi-cell results surface as #VALUE! instead of spilling.

ukadakal

3 hours ago

That’s actually quite impressive. Supporting functions like XLOOKUP, FILTER, INDIRECT, and LET is already a pretty capable calculation engine. Thanks for sharing the details!

krackout

3 hours ago

I actually searched the web for popular functions to implement; I don't personally use all of them. If you have any other functions in mind, tell me to implement them also.