sheetnode.png

Sheetnode integrates the JavaScript spreadsheet engine SocialCalc as a new node type in Drupal. SocialCalc was written by Dan Bricklin, co-author of the original VisiCalc spreadsheet app in 1979, and is used in the OLPC XO laptop and the SocialText Collaboration Platform.

Need a new feature for your business? Please drop me a line.

Contributors/co-maintainers wanted! Please drop me a line.

TABLE OF CONTENTS

NEWS

  • No more Java required!! I've finally gotten around to using PHPExcel to import/export XLS, XLSX, OOCalc, etc., so no more struggling against PHP/Java Bridge and other Java fiends.
  • No more patching required! I've forked the original SocialCalc code on GitHub, so make sure to update to the latest code as per the instructions below.

WHAT CAN YOU DO WITH IT?

  • Create nodes that are spreadsheets, complete with formulas and formatting
  • Create CCK fields that are spreadsheets
  • Refer to cells in other spreadsheet nodes
  • Use the standard Drupal search to find content inside cells
  • Save sheets as templates that can be reused when creating new spreadsheets
  • Import from Microsoft Excel (.xls and .xlsx) and OpenOffice.org Calc (.ods) files
  • Import from Google Docs spreadsheets
  • Export to Microsoft Excel (.xls and .xlsx), Adobe Acrobat, and more
  • Create views that show results in spreadsheets, complete with formulas, formatting and result expansion
  • Create views that let you export their data to Microsoft Excel and other supported format
  • Check the Roadmap below for upcoming features.

QUICK HOWTO: CREATE A NEW SHEETNODE

  • Install this module (only Sheetnode module needed)
  • Create content > Sheetnode
  • Enjoy your first online spreadsheet!

QUICK HOWTO: SPREADSHEET VIEW

  • Install Views and this module (only Sheetnode module needed)
  • Create a new view of type Node (for example)
  • In Basic settings > Style, select "Spreadsheet"
  • Click "Update default display" to use the default Spreadsheet settings
  • Select a few fields to display in the view
  • Create a Page display to render the view on a page, and give it a URL
  • Save the view
  • Navigate to the chosen URL
  • Enjoy your first Spreadsheet view!
  • Later on, you can edit the view to specify a spreadsheet template instead of the default
  • If you enable the Sheetnode PHPExcel, you can also create Feed displays in the view that are attached to the Page display and that allow you to export the resulting spreadsheet to XLS and other output formats.

INSTALLATION

Sheetnode module

  • Go to the sheetnode folder.
  • Delete the existing socialcalc folder if it exists.
  • Download the latest SocialCalc tarball from the GitHub repo (you can use this link directly).
  • Extract the downloaded tarball and rename the extracted folder to socialcalc.

Sheetnode Google Spreadsheets import/export module

Sheetnode PHPExcel import/export module

  • Download PHPExcel 1.7.4 or later.
  • Extract to a folder of your choice.
  • Configure Sheetnode PHPExcel settings by entering the full path of the PHPExcel folder root up to but not including the subfolder Classes.
  • Check the Drupal status report to ensure that PHPExcel is found by the module.

Sheetnode CKEditor module

FAQ

What format should text tables have to be properly imported by sheetnode_text?

Cells should be separated by at least two whitespaces to be recognized.

How can I refer to external data from my cells?

  • To refer to cells in other sheetnodes, use ="nid"!cell-ref or "node-title"!cell-ref. For example: ="719"!L3.
  • To refer to node fields, use =ORG.DRUPAL.FIELD(field-name, [oid, entity-name]), e.g. =ORG.DRUPAL.FIELD('title', 719, 'node'). You can also omit the nid and type-name if you want to refer to the current node.
  • To include tokens, use =ORG.DRUPAL.TOKEN(token, [oid, entity-name]).

CREDITS AND SPONSORSHIP

The following organizations have provided financial support for Sheetnode:

Thank you all for your generous support.

If you feel this module is useful to your business, please consider the following:

Thanks!

ROADMAP

Functionality

  • Support Google Spreadsheets formatting info
  • Export to Google Spreadsheets
  • Integrate with PHPExcel (done)
  • On-page controls to insert/remove rows/cols, format cells, etc. (done)
  • Export/import from CSV, XLS (done), ODS (in progress), Google Docs (in progress), etc.
  • Template system to save and reuse spreadsheet layouts (done)
  • User-defined functions including Ajax functions for backend processing (done for CCK fields)
  • Cell references to other sheetnodes (done: syntax is "Node title"!CellRef or "nid"!CellRef)
  • Fullscreen mode (done: click on the SocialCalc icon in the bottom-right corner of the sheet)
  • Charts
  • SUMPRODUCT function (done)
  • Collaboration features

Drupal integration

  • Passing arguments (done) and exposed filter values to views in cell references
  • Referencing node fields (done)
  • Packaging as CCK field (done)
  • Integration with theming system
  • Integration with Search module (done)
  • Cell-level permissions (done)
  • Revision history with user information (done)
  • Create a book and place all imported sheets inside it (done)
  • Packaging as Views style plugin (done)
  • Export Views to XLS, ODS (done)

Issues & limitations

Project Information

Downloads

Recommended releases

Version Downloads Date Links
6.x-1.5 tar.gz (53.33 KB) | zip (68.33 KB) 2011-Jan-02 Notes

Development releases

Version Downloads Date Links
7.x-1.x-dev tar.gz (53.09 KB) | zip (67.15 KB) 2011-Dec-16 Notes
6.x-1.x-dev tar.gz (64.94 KB) | zip (81.29 KB) 2012-Feb-01 Notes

Maintainers for Sheetnode

  • infojunkie - 342 commits
    last: 1 week ago, first: 3 years ago
  • bkudrle - 9 commits
    last: 19 weeks ago, first: 33 weeks ago

Issues for Sheetnode

To avoid duplicates, please search before submitting a new issue.
All issues
Bug reports
Oldest open issue: 26 Nov 08
nobody click here