There is another way that is nice and simple to work with although not as clean as Cory's method.
- Make a box with enough segments in the X and Z axes as you require holes in your grid.
- Select all the polygons on the top and bottom faces
- Bevel these with the inset you require but no shift.
- Bevel again but with no shift or inset
- Stretch the polygons all the way in towards each other in the Y axis
- Delete the selected polygons
- Merge points.
Takes about 30 seconds to produce...