Sheetnode 1.5 released, now without Java

Sheetnode is one of the most exciting modules that I maintain. The underlying SocialCalc Javascript spreadsheet engine, which I forked from Dan Bricklin's original code, is much fun to work with. Plus, organizations of many sizes are starting to use Sheetnode to collaborate on their numeric data right in their Drupal intranets, instead of relying on Excel files in attachments.

I've just released version 1.5 of Sheetnode for Drupal 6. This version brings many improvements over the previous stable version, which was 11 months old. The most tangible improvement, that will make life easier for all users, is the removal of Java dependencies for import/export, in favor of the excellent PHPExcel library, which now handles the same function - only much better. No more wrestling with PHP/Java Bridge, Apache Tomcat, Java class libraries, and other annoyances. Turning on import/export for Sheetnode is now as easy as downloading the latest version of PHPExcel, extracting it, and pointing to it the Sheetnode PHPExcel settings. I can already hear sighs of relief :-)

I've set up a live demo of Sheetnode, where you can create, import and export spreadsheets. Give it a try!

A Drupal 7 release is also imminent. Stay tuned...

PS. This release and the upcoming D7 release are sponsored by CTO Advisors. Thanks for your support!

Recent screenshot of the demo site

sheetnode.png118.62 KB


Hi... I am new to drupal...

Hi... I am new to drupal... and am exploring sheetnode kind of functionality and am very happy to discover it today. I have a question related to the use case I was wondering about. I was wondering if:

i) if we could reference data in CCK fields of any content type and use it for calculations on the sheetnode. ii) if we could alter a value in the sheetnode cell and expect the source CCK field to be updated with the new value in the original Content type.

Would very much appreciate if you could refer me to your related screencast as well. thanks.

i) Yes, using the spreadsheet

i) Yes, using the spreadsheet function =ORG.DRUPAL.FIELD('field_name', nid, 'node') where nid is the node ID you want to access.

ii) No, that's not an option currently. Feel free to submit a feature request on the module's issue queue.

There are unfortunately no screencasts of the module yet. I'd welcome community support on this!

I'm having trouble setting up

I'm having trouble setting up sheetnode; I'm new to Drupal so this could be a simple mistake.

In the Sheetnode install instructions it says "Configure Sheetnode Google Spreadsheets settings by entering the full path of the Zend Gdata up to but not including the subfolder Zend..." Where is the path supposed to go? in the settings.php file? What is the syntax?

Same question with regards to; "Configure Sheetnode PHPExcel settings by entering the full path of the PHPExcel folder root up to but not including the subfolder Classes" Where do I put the setting and what is the syntax?

For reference, my paths are: /SupportModules/PHPExcel and /SupportModules/ZendGdata/library

This setting is placed in the

This setting is placed in the Sheetnode Google Spreadsheets settings: admin/settings/sheetnode/google.

This is an awesome

This is an awesome module! I've been doing some tests to see if we could use it. For the most part it works really well but I'm having a bit of problem.

I need to put 8 CCK text fields into 1 cell and then export the sheet to XLSX. I'm using views and defined a sheetnode template for export. I'm able to put all 8 fields into 1 cell by putting the following formula into the template:

'${TRIM('$EW 1$'&'$EW 2$'&'$EW 3$'&'$EW 4$'&'$EW 5$'&'$EW 6$'&'$EW 7$'&'$EW 8$')}

The view works really well. But the export doesn't. I'm getting 0 in the exported cell with the message "could not export formula TRIM" attached as a comment to the cell. Using T instead of TRIM gives the same error.

Am I missing something?

I need to check whether the

I need to check whether the export library, PHPExcel, has a problem with TRIM. In general, please report bugs and feature requests on the Sheetnode issue queue.

I'm having the same issue

I'm having the same issue with exporting of field formulas. Were you ever able to resolve this?

Hooooray looking forward

Hooooray looking forward to the version that runs with Drupal 7. Very exciting !

Thanks for enhancing

Thanks for enhancing socialcalc. You have added a couple of very useful features and bug fixes.

Are you considering making any other socialcalc enhancements? Two things (among many others) that I'm wishing for are: 1. Group by, and Summary rows. 2. Row filtering.


Yes, I am planning to make

Yes, I am planning to make many SocialCalc enhancements, including filtering. Please add your requests to the Sheetnode issue queue.

Thanks, I have added a few.

Thanks, I have added a few. At some point, hopefully in the near future, I may be able to help with some of these feature requests, if I can convince a couple of people that we should adopt socialcalc for a project. I'll let you know when I am able to assist.

btw, have you added conditional formatting in your latest change? It seemed like you have, but the demo app in github doesn't seem to have anything new related to formatting.

Thanks again for picking up Mr. Bricklin's code and enhancing it.

Concerning conditional

Concerning conditional formatting, most of the code was already there, I just tested it and enhanced some parts to be compatible Excel/OOo Calc.

Looking forward to your involvement!

Google Docs

I was looking at your Roadmap with some the references to Google Spreadsheets integration. And I was curious if you were working with other contributors like flexer for the Google integration, since he has some basic listing and exports working with Google docs. his module implements parts of the Google Documents List Data API v2.0

Thanks for pointing out this

Thanks for pointing out this module. I'll definitely explore possibilities of cooperation.

wow--- awesome achievement!

wow--- awesome achievement! All the dependencies was what kept me from ever using this module in the first place. Now to convince my users that this is far better than passing around spreadsheet attachments....