Not sure why people are so unfamiliar with recovering data, or giving such bad advice. If you format the entire drive, quick or full, you do have a high chance of recovering the data.
I normally take a bit-by-bit copy of the entire surface of the drive using DDRescue - this is in a lot of linux distro's however i use PartedMagic, which you can get for free. DDRescue is widely known about so understanding how to use it only requires a quick google and the tiniest bit of PC knowledge. Once you have an image that contains the entire surface of the disk you can then use GetDataBack, as mentioned by sirpuma (Ive only ever used this and have never been disappointed), to run recovery on the image file, rather than on the hard drive itself - this is particularly useful on failing drives.
I would say 9/10 times this has got me the data back. We even have machines that are rebuilt over the network, no backup is taken, then even after a full clean of the partition tables, makings new partitions, copying over wim files, and then finally, installing windows all udpates/core apps - the data can be recovered with a very low corruption rate.
Sorry to post in an old-ish thread.