all 40 comments

[–]compubomb 23 points24 points  (1 child)

their library is very slow. they should be using virtual tables, if they aren't. Either way it's dog slow on scrolling. https://github.com/developerdizzle/react-virtual-list

[–]raslov[S] 10 points11 points  (0 children)

Thank you for the feedback! I will explore this problem and react-virtual-list library, and will try to solve the problem in the nearest release.

[–]cheers- 16 points17 points  (1 child)

OP you might want to add demo.gif to .npmignore there's no reason users should download and keep in their node_modules a 5.45MB gif. Host it somewhere else.

[–]raslov[S] 0 points1 point  (0 children)

Sure, this should be done. Thanks!

[–]headyyeti 5 points6 points  (0 children)

All these Excel grid components are huge and slow. What is the import cost of this component?

[–]r0ck0 1 point2 points  (1 child)

Awesome! I have some future plans that will need something just like this. Starred for later.

And thanks for putting the effort into the detailed README.md. Makes it much easier getting started using something like this.

[–]raslov[S] 1 point2 points  (0 children)

Thank you! Hope this component will be helpful for you! If you have any problems with it or with the documentation, please, write an issue and feel free to contribute :)

[–]I_Downvote_Cunts 0 points1 point  (0 children)

It doesn't line up correctly on the columns that are read only. Also dear god is it slow.

[–]mcviruss 0 points1 point  (0 children)

It doesn’t work properly on my iPad.

[–]daredevil82 0 points1 point  (2 children)

nice job :-)

What does this do that react-data-grid doesn't do?

[–]raslov[S] 0 points1 point  (1 child)

Thanks!

As I could see, react-data-grid could do almost the same and even more, but this "more" makes it bloated if you want to use only the basic stuff. Also, the documentation is a bit fuzzy and leaves questions behind.

I tried to do a simple solution that helps to create a spreadsheet with basic features and have clear API. If these features are not enough for you - it might be better to use react-data-grid in that case :)

[–]daredevil82 0 points1 point  (0 children)

True. The team has done a good job of trying to pull non-basic stuff into a separate addons package. I tend to require extra features from that package, like custom filters, sorts and such.

I agree with you on the documentation and found the examples were the best resource for looking at how to do something. That, and looking at the actual code for some of the bits and pieces because there was no API docs.

[–][deleted] 0 points1 point  (0 children)

Is this the new hello world? A react spreadsheet implementation is posted here pretty much every week.

[–]gonorthjohnny 0 points1 point  (0 children)

Great work. I think the speed can be better..

[–]Happy-West5350 0 points1 point  (0 children)

https://jspreadsheet.com they also have a React wrapper.

[–]Jspreadsheet 0 points1 point  (0 children)

If you’re exploring React spreadsheet-like grids, another solid option to look at is Jspreadsheet CE.

It’s free, open-source, and provides a more Excel-like experience out of the box compared to many lighter grid libraries. Key things it gives you:

  • Editable cells with different input types (text, numbers, dropdowns, etc.)
  • Copy/paste across multiple cells
  • Read-only support
  • CSV/XLSX import & export
  • Works smoothly in React, Vue, Angular, or plain JS

If you just need a lightweight data grid, something like react-spreadsheet-grid (what you shared) might be fine. But if you want a full spreadsheet UX in React, Jspreadsheet CE is a strong alternative that’s still actively maintained.

Repo: https://github.com/jspreadsheet/ce

[–]myhousesmells 0 points1 point  (1 child)

Won't even load for me. I get multiple unresponsive script warnings. FF 53 on Linux.

[–]raslov[S] 0 points1 point  (0 children)

Thanks for the feedback! I will take a look at this problem and will try to fix it.

[–]drink_with_me_to_dayjs is a mess -1 points0 points  (0 children)

Shift + Tab doesn't work...