Select data in tables the same way you select cells in a spreadsheet.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
greasemonkey
test
.gitignore
Makefile
README
cellect.jquery.json
cellect.js
index.rfcish
script.js
style.css

README

                             Cellect

   Helps you select data in tables the same way you select cells in a
   spreadsheet.

   It's:

   o  [A JavaScript][1] you can install in your web page,

   o  [A bookmarklet][2] you can run on any page,

   o  A Greasemonkey [user script][3] and a [Chrome extension][4].


1.  Script

   There are two versions of the script, one that depends on jQuery
   and the other that doesn't:

   o  [jQuery version][1].

   o  [Non-jQuery version][3].

   The jQuery version supports more browsers, whereas the non-jQuery
   version adds less code to each page and is easier to distribute as
   a Chrome extension.  The non-jQuery version invokes web standards
   directly and supports Firefox and Chrome.  It works well as a
   bookmarklet or a user script where, once installed, cross-browser
   support isn't an issue.

   It's also available as a [a jQuery plugin].


2.  Bookmarklet

   Bookmark one of these two versions, or drag it to your bookmarks
   toolbar:

   o  jQuery version: [Select tables][2]

   o  Non-jQuery version: [Select tables][5]


3.  Greasemonkey

   Here is [a user script][3] for [Greasemonkey][6] or Chrome.

   Install the Greasemonkey [Firefox extension][6], then [install the
   script][3].

   Chrome supports user scripts out of the box, but recent versions
   will [only allow you] to install them from [the Chrome Web
   Store][4] by default.

   You can also [get the script] from Userscripts.org.


4.  GitHub

   Fork me [on GitHub].


5.  Features

   o  Shift click to extend the selection.

   o  Double click to select rows, columns, or a whole table.

   Currently this is a [minimum product], hopefully it's viable.  No
   work has been done on interaction with colspans or rowspans, or
   interaction with nested tables.

   It doesn't work with PDF documents, but here is a [very cool
   project] that does.

   In future it might:

   o  Support using arrow keys to extend the selection, the way you
      might expect.

   o  Support control click to select irregular regions.

   o  Enable other scripts to add behavior when cells in specialized
      tables are selected.


6.  Why?

   [CRUD] webapps are frequently built for jobs that users previously
   addressed with spreadsheets.  Despite the advantages of webapps,
   venerable spreadsheets still deliver great features and user
   experience.  Hopefully this script improves integration between web
   pages and spreadsheets.  With it you should be able to scrape or
   export any table on the web.

   There are also a lot of other great tools to integrate spreadsheet
   features with webapps:

   o  [DataTables]

   o  [Handsontable]

   o  [jTable]

   o  [jqGrid]

   o  [jui_datagrid]

   o  [ParamQuery]

   o  [SlickGrid]

   o  [table2csv]

   And there is at least one Firefox extension to enhance tables on
   any web page: [TableTools2].  And Firefox lets you select tables
   out of the box, by holding down the control key.

   There are also web-based spreadsheets like [Google Spreadsheet] and
   [SocialCalc].

   Hopefully even more data will get shared in the form of tables.


   [1]         https://raw.github.com/jablko/cellect/master/cellect.js

   [2]         javascript:(function(){document.body.appendChild(document.createElement('script')).src='http://code.jquery.com/jquery.min.js';document.body.appendChild(document.createElement('script')).src='https://raw.github.com/jablko/cellect/master/cellect.js'})()

   [3]         https://raw.github.com/jablko/cellect/master/greasemonkey/cellect.user.js

   [4]         https://chrome.google.com/webstore/detail/cellect/nbcoeiihmfepcagkdeoodgnegkddcpop

   [a jQuery plugin]
               http://plugins.jquery.com/cellect/

   [5]         javascript:(function(){document.body.appendChild(document.createElement('script')).src='https://raw.github.com/jablko/cellect/master/greasemonkey/cellect.user.js'})()

   [6]         https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/

   [only allow you]
               http://support.google.com/chrome_webstore/answer/2664769

   [get the script]
               http://userscripts.org/scripts/show/165121

   [on GitHub]
               https://github.com/jablko/cellect

   [minimum product]
               http://en.wikipedia.org/wiki/Minimum_viable_product

   [very cool project]
               http://tabula.nerdpower.org/

   [CRUD]      http://en.wikipedia.org/wiki/Create,_read,_update_and_delete

   [DataTables]
               http://datatables.net/

   [Handsontable]
               http://handsontable.com/

   [jTable]    http://jtable.org/

   [jqGrid]    http://www.trirand.com/blog/

   [jui_datagrid]
               http://www.pontikis.net/labs/jui_datagrid/

   [ParamQuery]
               http://paramquery.com/

   [SlickGrid]
               https://github.com/mleibman/SlickGrid

   [table2csv]
               http://table2csv.com/

   [TableTools2]
               http://mingyi.org/TableTools2/

   [Google Spreadsheet]
               http://docs.google.com/spreadsheet

   [SocialCalc]
               https://github.com/DanBricklin/socialcalc