Mingyi's FireFox Extension to sort/filter/copy HTML tables - TableTools

After installing the TableTools FF extension, you can use the tables below for a quick demo. Here's some quick keyboard shortcut reminders:

This table is good for testing filtering capability of TableTools:

US time IP addresses Names Numbers
Sat, 22 Jun 1996 04:59:02 GMT 15.25.123.2 abc def 0.005
06/22/1996 04:59:02 PM 15.25.123.2 abc def -5
06/22/1996 16:59:02 15.2.123.2 abc def 5E-3
06/22/1996 04:59:02 15.25.123.2 wef stssrd 0.8
Sat, 22 Jun 1996 04:59:02 GMT 15.25.123.2 xdfga etgd 50e-4
this is footer row number ONE!

This table is good for testing sorting capability of TableTools:

Please note that US-styled time (or European-styled, based on your chosen preference setting for tabletools), Dollar/Euro/Yen/Pound, Number, Text, IP addresses are automatically recognized. But for other formats, please right click anywhere in the table and choose the appropriate data type for correct sorting.

US time European date time Y-M-D date & time Dollars Chinese money IP addresses Names Numbers
Tuesday, January 06, 1970 12:25:37 PM18/12/56 04:40:10 AM65-06-05$118.73YMB 6.027.149.219.140chima chailie-153.60E+02
Thu Mar 01 1951 04:40:27 GMT-0500 (Eastern Standard Time)18/08/81 05:15:18 PM1970-05-05$111.4YMB -77.85211.56.97.70bate delie 50.13 E +03
Wed, 25 Feb 1998 22:13:39 GMT07/08/8762-10-05$-49.06YMB 40.27121.197.152.251tonde balie133.79E-03
Sat, 17 Jan 2004 01:58:25 GMT17/12/8569-07-23$29.56YMB -27.375.76.184.0dede dydi- 168.9 E -04
07/07/195722/12/81 01:19:57 PM83-08-26$49.02YMB -69.9191.138.49.3chite dema 79.6 E -04
Fri, 08 Mar 1974 16:53:35 GMT10/01/19781998-07-10 03:29:06 AM$-3.98YMB 120.2460.117.242.253vadi tede-110.84E+04
Wed Mar 03 1982 00:59:03 GMT-0500 (Eastern Standard Time)28/06/90 02:11:52 AM92-07-20 06:40:25 AM$95.06YMB 99.7792.235.174.247cachai didi 224.73 E -04
Sat, 05 Feb 1955 08:32:41 GMT04/06/6581-06-18 05:04:00 PM$0.96YMB -14.39213.50.214.20dychai cava-106
Mon, 07 Mar 1960 13:47:04 GMT08/10/1999 02:04:45 PM90-03-13 09:05:13 PM$-31.29YMB -61.39185.179.127.106tonca dite 151.64 E +03
01/15/198925/02/9599-03-26$-113.94YMB -86.6246.177.112.110dyse dechi- 177.61 E -03
this is footer row number ONE! adsf adsf adsf adsf

Index of this page:

How to install and use the TableTools FF extension
What's new & Version history
Author & feature lists
Localization (language) support
License
Questions & answers

How to install and use the TableTools FF extension

That's it! You can now sort pretty much any html tables on the web now! For advanced usage, read on!

Author and feature lists:

This FF extension is developed and maintained by Mingyi Liu. The table sorting feature of TableSort from Mingyi's powerful cross-browser Javascript listed here. IMHO, it's the most powerful/feature-rich html table sorting JS on the web; The table filtering feature is also among the most advanced on web due to its smart behavior (it'd recognize data types thus 0.5 and 5e-1 would be correctly considered equivalent); The justified tab-delimited table copying is also very convenient!

The extension has these general features:

  1. Ease of use! Every feature has keyboard/mouse shortcuts and context menu options!
  2. Various preference (option) settings to allow tuning of extension behavior
  3. Support multiple tables on same html page.
  4. Works with thead, tbody, th, etc. html tags. Or even nested tables. Allows multi-row header and footer.
  5. Tolerates table colspans, although the end sorting results could be funny looking
  6. Context menu options are hidden when not applicable to avoid cluttering

The extension has these features for table sorting:

  1. Ease of use - right click inside table and select context menu options to sort, or just press 'ctrl+alt+mouse click' anywhere in table to activate sorting even faster!
  2. Fast and accurate sorting and even faster when reversing sorted column.
  3. Automatically detects date, number, text, currency, IP address and sort them. Auto-detect timestamp (not just date), negative numbers, scientific notations, multiple currencies correctly.
  4. Allow user to specify column data type explicitly through context menu.
  5. Provide preference (option) settings such that one could change the default behavior of the extension
  6. Support multiple tables on same html page.
  7. Works with thead, tbody, th, etc. html tags. Or even nested tables. Allows multi-row header and footer.
  8. Tolerates table colspans, although the end sorting results could be funny looking
  9. Support various levels of style preserving (row-level, cell-level or table-level (default)). Particularly useful for table rows that're alternatively highlighted (choose 'row-level' for it, which is default).

The extension has these features for table filtering:

  1. Ease of use - right click inside table and select context menu options to show/hide filters, or just press 'ctrl+shift+mouse click' anywhere in table to show/hide filters even faster!
  2. Smart filtering due to its automatic detection of date, number, text, currency, IP address types. One could also use context menu to sort a column as specified data type, then filter the column, which would force the column be filtered as that data type.

The extension has these features for table copying:

  1. Ease of use - press 'ctrl+z/q/e+mouse click' anywhere in table to copy the entire table as 3 different formats (context menu allows copying too)!
  2. The justified tab-delimited format sure is handy!

Localization (language) support

What's new and version history

License:

It's standard FF extension - licenses are (http://www.mozilla.org/MPL/, GPL and LGPL) and no warranty provided (use it at your own risk!) ;)

Questions and answers

  1. When I showed filters, then sorted the table, the filtered values are no longer correct. How to fix it?
    When combining filtering and sorting, there are two ways of doing it: 1. Always sort first, filter second. 2. In TableSort settings -> Advanced Settings, choose "the rows should retain their previous formatting (fastest)". This would cause alternative highlighting of rows be messed up, but the important data can be sorted and filtered correctly in any combinations.
  2. I found a table whose rows should all be regarded as data rows, thus should all be sorted. But the first row is never sorted/filtered. How to fix it?
    TableTools by default considers first row of table the header row. To tell it that there's no header row, simple go to settings and fill in "for table without headers, do not sort/filter the first 0 rows ...".
  3. I found a table that has 5 data rows that should not be sorted. How to indicate that they shouldn't be sorted?
    TableTools by default considers first row of table the header row. To tell it that there's no header row, simple go to settings and fill in "for table without headers, do not sort/filter the first 5 rows ..." (you might need to fill in '5' for the table with headers too depending on the table you're trying to sort/filter).
  4. How do I filter/sort table header and footer sections (THEAD and TFOOT)?
    TableTools disregards both THEAD and TFOOT sections when sorting and filtering. I do not plan to support sort/filter of header and footer sections.
  5. How do I contact you if I have a question?
    Send me an email at mingyiliu_at_yahoo.com (substitute _at_ with @). As is with most freeware support, there's no guarantee as to when or if I would reply to your email, but I always try my best.