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

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 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:
    wget https://github.com/infojunkie/socialcalc/archive/master.zip
  • Extract the downloaded tarball and rename the extracted folder to socialcalc:
    unzip master.zip
    mv socialcalc-master socialcalc

Sheetnode Google Spreadsheets import/export module

Sheetnode PHPExcel import/export module

  • Download PHPExcel 1.7.7 or later.
  • Create a new folder (e.g. sites/all/libraries/PHPExcel and extract to it.
  • Download TCPDF and extract it to a new folder (e.g. sites/all/libraries). The package will extract to a new tcpdf folder.
  • Configure Sheetnode PHPExcel settings by entering the full path of the PHPExcel folder root up to but not including the subfolder Classes. Also set the full path to TCPDF on the same settings page.
  • Check the Drupal status report to ensure that PHPExcel and TCPDF are found by the module.

Sheetnode CKEditor module

  • Download CKEditor 3.5.2 or later.
  • Extract to a folder of your choice.
  • Configure Sheetnode CKEditor settings by entering the full path of the CKEditor folder root.

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 individuals and 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!

MORE INFORMATION

Project Information

Downloads