Added Excel Generation to EoM reports

Allows Excel documents to created on the fly, if this works successfully
then it can be used on the other forms. Ideally it would be great to
pass in a DataTable but if that is not the case then a 2D array, one to
loop through the rows and one to loop through the columns.