The wikiCalc system lets you create and maintain web pages using a spreadsheet editing metaphor. It works through a browser connected to a web server.
The spreadsheet editing is done in a manner similar to a traditional desktop spreadsheet program but with a web page flavor.
The familiar and robust spreadsheet functionality includes:
- A grid of columns and rows of cells identified as A1, B7, etc.
- Cells containing numeric values, dates and times, strings of text characters, and error and #N/A values
- Formulas with access to over 100 built-in functions including SUM, DSUM, IRR, and IF
- References in formulas that can refer to cell contents in other pages
- Control of the formatting of numeric data including a wide range of currency and date forms as well as custom formats
- Cell and table formatting including font, color, borders, alignment, padding, merged cells, and column width
- Optional hidden cells, rows, and columns
- Commands such as fill, sort, copy, paste, erase, insert/delete rows and columns, and recalculation control
- Import and export with CSV and Tab-delimited text, and other formats
- User interface controlled by either keyboard or mouse clicks
wikiCalc is designed for everything from simple lists to light- and medium-duty spreadsheeting. It is a complete basic spreadsheet that can produce output for the web on par with what many desktop spreadsheets produce on paper. The emphasis in its design has been on the quality of the output and not on making it an application development platform. It is not for quick operations on thousands of rows of data in one sheet nor sophisticated numerical analysis, but it can produce output that looks like it was produced by a skilled webmaster.
wikiCalc is designed around the assumption that the output should be a normal, good looking web page with its origins as a spreadsheet of little interest to the reader. Most readers do not access the page through a spreadsheet-editing interface with the A-B-C/1-2-3 borders and cell grid displayed. Instead, the pages can look like any other on a website. wikiCalc does, though, allow multiple people to have access to the same spreadsheet for editing when desired. The editing is done one person at a time and wikiCalc warns you when it detects that you are trying to edit a page someone else is still in the midst of modifying.
wikiCalc has many features not found in most other spreadsheets. For example, it has:
- The ability to start editing a page you are viewing in a browser with a single click on an optional "Edit This Page" link and then quickly return to viewing pages when the editing is completed
- Plain text, HTML, and wiki-style markup rendering for text data
- wiki-style text in cells that can include multiple lines and paragraphs, headings, bold, italics, bulleted lists, etc.
- wiki-style text that includes commands to insert links, images, and values from cell references
- Formula cell references that may be to cells on wikiCalc pages on other websites
- A special wkcHTTP built-in function to access server scripts
- On-demand recalculation during "Live View" web access, including the ability to temporarily modify cell values before calculation
- Templates that are used to "wrap" the main spreadsheet HTML to create a web page, and that may come from a common library or be customized on a per page basis
- Ability to create output to be embedded in other web pages, both static and "live" data
- Cell formatting with access to CSS style capability as well as to using an explicit CSS class
- Custom formats that may have full style settings such as [style=font-weight:bold;color:red] in addition to the normal [RED], etc., color settings, and any number of comparison sections (e.g., "[<100]...;")
- Logging of all edit operations as an audit trail
- wiki-like retention of each new version of a page with roll-back capability
In addition to providing spreadsheet editing, wikiCalc includes a complete system for maintaining the pages being edited. This system has many features that include:
- Built-in user name / password administration and access control
- Management settings for multiple sites (directories of published files) and hosts (remote servers)
- Backup management to control retention of older versions of edited pages
- Optional RSS feeds on a per-page and per-site basis
- Libraries for storing templates for page HTML rendering as well as for new page creation
- An easily localizable interface, with translations into non-English languages already started
- Server-based or client-based operation, or a combination
- Easy setup without the need to connect to a server database
- Simplified "demo" setup for easy evaluation
- Sample runtime helper program for easy access to data on common web pages and very simple graphing
wikiCalc is written in the popular and widely available Perl programming language. It is available as Open Source. This makes it suitable for customization for particular situations and open to advances provided by a wide range of participants.
See the documentation listed on the home page for more specific information.