That's right, I'm using react-virtualized right now with a customized react-datasheet. I found it's a good first iteration, as even fully rendering 100 rows will result in pretty poor performance, so the windowing technique is definitely a must.
That said I'd really like to reach Google Sheets-like performance. Do you know how it's built?
Haven't looked at Handsontable or agGrid, will check them out.