Ph: 246177112110

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:
Press 'ctrl-alt-click' (click is your mouse click) anywhere in the table to sort that column. Press 'ctrl-shift-click' anywhere in the table to show or hide the filters (like the Auto Filters in Excel) that allow you to filter each column. Press 'ctrl-z-click' anywhere in the table to copy the table content as left-justified tab-delimited text (I created this format which has the best of both worlds - you can paste it into Excel as multiple columns correctly, or you can paste it into your email and still be able to read the data in each column. Try it! Press 'ctrl-q-click' anywhere in the table to copy the table content as tab-delimited text Press 'ctrl-e-click' anywhere in the table to copy the HTML source code of the table content

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 PM 18/12/56 04:40:10 AM 65-06-05 $118.73 YMB 6.02 7.149.219.140 chima chailie -153.60E+02
Thu Mar 01 1951 04:40:27 GMT-0500 (Eastern Standard Time) 18/08/81 05:15:18 PM 1970-05-05 $111.4 YMB -77.85 211.56.97.70 bate delie 50.13 E +03
Wed, 25 Feb 1998 22:13:39 GMT 07/08/87 62-10-05 $-49.06 YMB 40.27 121.197.152.251 tonde balie 133.79E-03
Sat, 17 Jan 2004 01:58:25 GMT 17/12/85 69-07-23 $29.56 YMB -27.3 75.76.184.0 dede dydi - 168.9 E -04
07/07/1957 22/12/81 01:19:57 PM 83-08-26 $49.02 YMB -69.91 91.138.49.3 chite dema 79.6 E -04
Fri, 08 Mar 1974 16:53:35 GMT 10/01/1978 1998-07-10 03:29:06 AM $-3.98 YMB 120.24 60.117.242.253 vadi tede -110.84E+04
Wed Mar 03 1982 00:59:03 GMT-0500 (Eastern Standard Time) 28/06/90 02:11:52 AM 92-07-20 06:40:25 AM $95.06 YMB 99.77 92.235.174.247 cachai didi 224.73 E -04
Sat, 05 Feb 1955 08:32:41 GMT 04/06/65 81-06-18 05:04:00 PM $0.96 YMB -14.39 213.50.214.20 dychai cava -106
Mon, 07 Mar 1960 13:47:04 GMT 08/10/1999 02:04:45 PM 90-03-13 09:05:13 PM $-31.29 YMB -61.39 185.179.127.106 tonca dite 151.64 E +03
01/15/1989 25/02/95 99-03-26 $-113.94 YMB -86.6 246.177.112.110 dyse 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

There are two ways to install it:
You can always find the latest extension on this page. To install, right click on this link and choose "save link as" to save the tabletools.xpi file onto your hard drive. Then in FireFox go to "File"->"Open" and open tabletools.xpi. After a few seconds, the "install" button becomes clickable, click it and close ALL of your firefox windows. Start firefox up again and the installation is done! You can also go to the TableTools on the official FF extension site and install it. There you may not get the latest version however
How to use the extension:
To use this extension, go to any web page that contains an HTML table (this page offers a good demo for sure). Press down the "ctrl", "alt" keys at the same time, then click anywhere inside that table. After a short while (depending on how big the table is, of course), the table will be sorted on the column you clicked upon. If you would like to change the default behavior of this extension, please go to firefox "Tools"->"Extensions", find "tabletools" and double click on it to launch the options menu, and set the menu there. 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. Also note that complex tables with column span will probably be sorted in a way that is not desired, but that is the problem common to all html table sorting javascripts, AFAIK, unfortunately.
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:

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

The extension has these features for table sorting:

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! Fast and accurate sorting and even faster when reversing sorted column. Automatically detects date, number, text, currency, IP address and sort them. Auto-detect timestamp (not just date), negative numbers, scientific notations, multiple currencies correctly. Allow user to specify column data type explicitly through context menu. Provide preference (option) settings such that one could change the default behavior of the extension Support multiple tables on same html page. Works with thead, tbody, th, etc. html tags. Or even nested tables. Allows multi-row header and footer. Tolerates table colspans, although the end sorting results could be funny looking 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:

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! 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:

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)! The justified tab-delimited format sure is handy!

Localization (language) support

English (v0.10) Chinese (v0.12) The following courtesy of Babelzilla's volunteers' help:
French (jojaba, v0.12) German (Downlord, v0.12) Spanish-Argentina (Guillermo, v0.12) Spanish-Spain (chuzo, v0.13) Croatian (krcko, v0.13) Italian (MatrixIsAllOver, v0.14) Japanese (hiroto, v0.14) Dutch (markh, v0.14) Slovak (wladow, v0.16) Portuguese - Brazil (petruc, v0.20) Turkish (Celikbas, v0.20) Chinese - Traditional (jackbin, v0.20)

What's new and version history

version 0.21: Fixed an issue with copying multi-line content in a cell (pasting into Excel breaks into multi line too). This version replaces newline with space. version 0.20: Fixed a couple bugs. Added pt-BR, tr-TR, zh-TW thanks to petruc, Celikbas, jackbin from Babelzilla version 0.19: Fixed bug that disabled search filters added by context menu; FF 2.0 RC1 compatible!. version 0.18: Several bug fixes including an important one that re-enabled dropdown selection filtering (in 0.17 a bug disabled it). version 0.17: Search box filtering now supports: 1. Find keyword in ALL table columns (just prefix the keyword/regex with :ALL:). 2. Filter out rows that contain the search keyword in the current column (prefix with :INV:). 3. Filter out rows containing the search keyword in ANY column (prefix with :INVALL:) version 0.16: Important addition! Search box filtering was added (it supports Javascript RegExp expressions too!). The search is case-insensitive, fast, and very powerful! Best of all, it took me only 1.5 hours to implement. version 0.15: Added invert filtering (press ctrl key when clicking an option (e.g., 'abc') in the filter dropdown menu would filter out any rows that contain 'abc' in that column. Filter dropdown menu will have yellow background for inverse-filtered columns. version 0.14: Added support for dynamically select header rows to exclude during sorting/filtering (In extension options check the option "Do not sort/filter any rows above the clicked row?"); Italian, Japanese, Dutch locales were added by Babelzilla volunteers. version 0.13: Added support for copying only the filtered rows as well as improved html copying - table tags are copied too now. Croatian and Spanish-Spain locales added by babelzilla volunteer). version 0.12: With Babelzilla's excellent help, added localization and Chinese, German, French, Spanish locales in addition to English. version 0.11: Fixed two bugs involving trailing space in filtering and trimming of space in copying. version 0.1: First release (created from TableSort FF extension, after bug fixes, adding table filter/copy features).

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

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.
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 ...".
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).
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.
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.


You are viewing a mobilized version of this site...
View original page here

How do you rate mobile version of this page?

Mobilized by Mowser Mowser