The boolean approach works best if you are not intending to smooth. If you want to smooth it is still an option but you will have to do some cleaning up of the topology.
I think for this surface a more efficient approach would be to start with a 6-sided cylinder and build the geometry for a single hole. Then duplicate that tile to create the rows and cols of holes. Which is an idea I have proposed before - Start with the holes and then build the surface around them.
Here is a video I tossed together. Sorry for the length, I rambled a bit and was not keeping track of the time.
howto make a surface with holes - YouTube
"If I have seen further it is by standing on the shoulders of giants." Sir Isaac Newton, 1675
Last edited by ctbram; 14-10-2011 at 02:27 AM.