If you are looking for ways to simplify the creation or maintenance or uploading of HTML tables for display within blocks or nodes, these table modules might help. These modules are not about managing Drupal database tables.
I have downloaded and tried most these modules, but spent more time with some than others. Each works in a somewhat different way - you may have try more than one to find the one that best fits your needs and workflow.
I am writing this page partly because it was so bloody difficult to find all these modules. Many developers use too few words when describing their projects, so finding them via search function is hit or miss. Some terms I tried were HTML tables, import Excel tables, import .csv tables, import Excel .csv files, node data tables, node HTML tables, create HTML tables, and table modules.
If anyone knows of other similar types of modules, please post comment below.
Note: Module capabilities are continually evolving. Please check module for latest information.
Feature | Quicktables | Table Manager | Tables Filter | CCK Matrix Field | CCK TableField | ||||
---|---|---|---|---|---|---|---|---|---|
Basic idea | Generates blocks for tables built in specialized tables editor | Input filter to display imported tables or tables built in tables editor | Simplified input format (markup) for creating HTML tables | CCK field for entering tabular data | CCK field for entering tabular data | ||||
Drupal versions | |||||||||
Drupal 6.x | (.dev) |
(.dev) |
|||||||
Drupal 5.x | |||||||||
Usage (as of 23 Feb 10) | |||||||||
D6.x versions | <50 | 340 | 131 | 700 | 475 | ||||
Styling options | |||||||||
Table class/ID specified | auto-generated ID & class |
auto-generated ID & class |
user specified class or choose from pre-defined |
no |
wrapped in |
||||
Cell classes specified | auto-generates col, row classes |
auto-generates even/odd row classes; user can define classes down to individual cell level via input filter in source data table (provides very high level of control) |
auto-generates col, row classes |
limited to even/odd row classes, no classes on cells |
highly granular auto-generated classes |
||||
Header classes specified | no, but you can work around |
auto-generated |
user can specify |
auto-generated |
no, but you can work around |
||||
Allows HTML in cells | some limitations due to handling of quotes |
||||||||
Easily wrappable* | |||||||||
Display options | |||||||||
Display in blocks | input filter allows embed within block |
input filter allows embed within body content |
|||||||
Display in nodes | not intended for use in nodes, can be inserted using php |
input filter allows table to be embedded within body content, also can be its own node |
input filter allows embed within body content |
CCK field, not embeddable in body content |
CCK field, not embeddable in body content |
||||
Other | |||||||||
Import from .csv file / other | |||||||||
Other features | - reorder rows | - sort by column - input filter accepts class parameters in cells - sticky headers |
- pre-defined CSS styles - only one that supports merging cells |
- multiple field types - sticky headers |
- sticky headers - any input format allowed |
* Meaning you can wrap any auto-generated table code within your own HTML inside body or block if additional styling or positioning is required - for instance, wrapping the table inside a div.
Helper Modules for Managing HTML Tables
These module(s) help format or manage HTML tables that are already built.
- Table Alternate Rows - Input filter that inserts even and odd classes into user submitted tables within nodes (5.x, 6.x)
Comments
New table module - CCK Tablefield
I wrote this comparison page, but don't have edit privileges to modify it.
If I did, I would want to add a column for a new module that has recently come online in beta: CCK TableField - http://drupal.org/project/tablefield.
This module is quite similar to CCK Matrix Field, except that it seems to provide more node-by-node flexibility to alter table dimensions (rows x columns) and it also provides built-in 'add table' mechanism on a per node basis to have multiple tables per page.
---
The currently assigned author results another user; that could explain why you cannot edit it.
...
oh, yes, sorry. i do know why i can't edit it. but that's a whole other story (http://drupal.org/node/558398).
i meant the comment only by way to introduction so people would know where to turn should they see problems with the page.
Tablemanager D6 .dev version
Please note that the D6 .dev version of Tablemanager is buggy. Many of the major features do work, but there are some visible features do not work - for example, you can see and click a 'save' button on the 'edit table' screen, but it generates an error and doesn't actually save anything.
As a result of these bugs and unclear future development path, I no longer use the module myself.
new module under development
after some months, a new HTML tables module is set to emerge under the name NodeTable. http://drupal.org/project/nodetable
it will have many of the same features as TableManager, but code base has been completely rewritten and updated for D6 environment.
alpha version released
the alpha version of Node Table module has been released. http://drupal.org/project/nodetable
translation and views in the comparison chart
without having used any of those modules yet, i suggest to take into account two more factors in the comparison:
- translation: how the new fields are dealt by the core locale module and by the contributed i18n module
- how they integrate with views
...
no idea about translation. i don't use those modules and haven't tested any of these modules with them. if anyone has, please share.
as to views integration. i'm no views expert, but think the answer is mostly none.
for the new tables module i've been sponsoring (http://drupal.org/project/nodetable), the answer is probably 'yes' because it generates full fledged nodes with unique content type for each table. otherwise, all the tables are entities within a node and i don't think you can use views on something like that. but i could be wrong.
Tables Filter does work with blocks
Provided your input filter has Tables Filter enabled it will indeed work with Blocks
...
updated accordingly.
thanks!
Hi, Tables Filter now has D5
Hi,
Tables Filter now has D5 and D7 releases!
It also recently got summary support for w3c compliance.
Cheers,
Brian