original version from http://jexcelapi.sourceforge.net/