Sheetnode
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.
WHAT CAN YOU DO WITH IT?
* Create nodes that are spreadsheets, complete with formulas and formatting
* 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 / export to Microsoft Excel files
* Export to OpenOffice.org Calc files
* Import from Google Docs spreadsheets
* 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 OOo Calc files
Check the Roadmap below for upcoming features.
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 XLS and ODS modules, 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 ODS respectively
INSTALLATION
NOTE: Drupal 5 is unsupported! The D5 dev release was just intended as an experiment but expect no more work on it.
Sheetnode module
* Go to the sheetnode folder.
* 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.
* Apply the socialcalc.patch included with this module using the following:
cd /your/path/to/sheetnode
patch -p0 < socialcalc.patchNOTE: I am maintaining this patch manually against the latest version of SocialCalc. If the patch included in the module package fails because SocialCalc has been updated, please notify me to create a new version of the patch.
Patch tested against: SocialCalc commit b294728041f9d82a002c126839d012424cf54a28 on Nov 3, 2009.
Sheetnode XLS import/export module
* Install Sun's Java 6 JRE or equivalent.
* Install PHP/Java Bridge. Please make sure it works correctly before proceeding.
* Extract the folder META-INF contained in JavaBridge.rar to any folder that is accessible by the Web server.
* Activate module PHP/Java Bridge (included here) and configure its settings to point to the Java.inc folder.
* Download Apache POI 3.5-FINAL and extract the bin package to any folder that is accessible by the Web server.
* Configure the Sheetnode XLS settings to point to the folder above.
* Go to Drupal's Status report page and make sure the entries Apache POI, PHP/Java Bridge extension, and PHP/Java Bridge include files are green.
Sheetnode ODS import/export module
* Install Sun's Java 6 JRE or equivalent.
* Install PHP/Java Bridge. Please make sure it works correctly before proceeding.
* Extract the folder META-INF contained in JavaBridge.rar to any folder that is accessible by the Web server.
* Activate module PHP/Java Bridge (included here) and configure its settings to point to the Java.inc folder.
* Download the ODFDOM 0.7 jar file and place it in any folder that's accessible by the Web server. Earlier versions of ODFDOM will not work.
* Download the latest Xerces2-J bin package (currently 2.9.1) and extract xercesImpl.jar to the same folder above.
* Configure the Sheetnode ODS settings to point to the folder above.
* Go to Drupal's Status report page and make sure the entries ODFDOM, PHP/Java Bridge extension, and PHP/Java Bridge include files are green.
Sheetnode Google Spreadsheets import/export module
* Upgrade your PHP installation to 5.2.4 or later as this is the minimum requirement for the Zend Framework.
* Download Zend Gdata Framework 1.9.x or higher.
* Extract to a folder of your choice.
* Configure the Sheetnode Google Spreadsheets settings by entering the full path of the Zend Gdata folder that contains the subfolder named 'Zend' (typically /path/to/ZendGdata-x.y.z/library).
ROADMAP
Functionality
* 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
* Cell references to other sheetnodes (done: syntax is "Node title"!CellRef or "nid"!CellRef)
* UI-based resizing of worksheet
* Charts
* SUMPRODUCT function (done)
* Collaboration features
Drupal integration
* Packaging as CCK field
* Integration with Drupal theming system
* Integration with search module (done)
* Cell-level permissions
* 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
* Xdebug interferes with PHP/Java Bridge (as reported on the Xdebug bugs database) and causes ODS export (at least) to fail
* No import of charts or images
* No export of HTML or Wiki text
* Only one sheet can be displayed on a single page at any time
Contributors/co-maintainers wanted! Please drop me a line.
Releases
| Official releases | Date | Size | Links | Status | |
|---|---|---|---|---|---|
| 6.x-1.3 | 2009-Oct-31 | 52.11 KB | Download · Release notes | Recommended for 6.x | |
| Development snapshots | Date | Size | Links | Status | |
|---|---|---|---|---|---|
| 6.x-1.x-dev | 2009-Oct-31 | 52.12 KB | Download · Release notes | Development snapshot | |
| 5.x-1.x-dev | 2009-Jan-19 | 24.62 KB | Download · Release notes | Development snapshot | |
