RXSpreadsheet
RXSpreadsheet copied to clipboard
New release
Looking into creating an updated version (2) of RXSpreadsheet that imports the latest version of x-spreadsheet, https://github.com/myliang/x-spreadsheet/tree/v1.1.7 and fixes outstanding issues.
New features
Looking into how to create an easy to use wrapper for (DT/highcharter proxy approach?):
-
[x] Add sheet, https://hondrytravis.com/x-spreadsheet-doc/doc/spreadsheet.html#addsheet-name-active
-
[ ] Get cell content, https://hondrytravis.com/x-spreadsheet-doc/doc/spreadsheet.html#cell-ri-ci-sheetindex
-
[ ] Get cell style, https://hondrytravis.com/x-spreadsheet-doc/doc/spreadsheet.html#cellstyle-ri-ci-sheetindex
-
[x] Set cell text(/content), https://hondrytravis.com/x-spreadsheet-doc/doc/spreadsheet.html#celltext-ri-ci-text-sheetindex
-
[x] Refresh, https://hondrytravis.com/x-spreadsheet-doc/doc/spreadsheet.html#rerender
-
[x] Delete a sheet, https://hondrytravis.com/x-spreadsheet-doc/doc/spreadsheet.html#deletesheet
-
[x] Load data, https://hondrytravis.com/x-spreadsheet-doc/doc/spreadsheet.html#loaddata-data-%E5%8A%A0%E8%BD%BD%E6%95%B0%E6%8D%AE
-
[x] Get data, https://hondrytravis.com/x-spreadsheet-doc/doc/spreadsheet.html#getdata-%E8%8E%B7%E5%8F%96%E6%95%B0%E6%8D%AE
-
[x] Add event bindings (similar to say cell clicked/selected in DT), https://hondrytravis.com/x-spreadsheet-doc/doc/spreadsheet.html#change-callback-%E5%8F%98%E6%9B%B4%E4%BA%8B%E4%BB%B6
-
[x] Allow reloading via renderRXSpreadsheet
Show case
- examples: view only example, cell input binding to cross communicate cell changes with shiny and the client, 10k+ data point test
Issues
- [ ] use of reactive data, #6 and #9
- [ ] sizing #7
- [ ] clean up package structure and look into a cran release, #5
- [ ] usability, #3, #2, #1
Update: the tagged release 1.1.7 in x-spreadsheet seems outdated, version TBD, current master branch seems to be 1.1.8, 1.1.7 is several years old (?)
Future consideration:
- Hard to preserve XLSX < - > x-spreadsheet formatting (/styling), https://docs.sheetjs.com/xspreadsheet/ does not seem to support this in this example -> look into preserving formatting in the future if possible via sheetjs/exceljs or similar solution? store client side data in an s3/r6 object with methods that allow to: extract the data.frames containing the spreadsheet data (0 formatting), update the data while persisting formatting rules
Future follow up release to be based on https://github.com/wolf-table/table