Picking this up on IRC, and just posting back from there for posterity so others can follow:
9:40:37 AM - mseaton: k-joseph: so first off, regarding the issue with “NotOLE2FileException: Invalid header signature”, are you seeing this on building with maven, or when running the report in the application?
9:41:07 AM - k-joseph: mseaton: when running the report in the application, building with maven is successfult
9:42:39 AM - mseaton: k-joseph: what omod is causing the problem? is this in rwandareports or did you copy this code out of there into a different module?
9:43:23 AM - k-joseph: mseaton: i moved it into a different module: https://github.com/rwanda-rbc-emr/openmrs-module-rwandasphstudyreports
9:45:40 AM - mseaton: k-joseph: it is extremely likely that the issue is with resource filtering in maven, and you need to set up the pom correctly. one way you can test this is to build the module with maven, and then unzip the built omod and see if you can open the .xls resource or if it fails with an error. if it fails, you know the resource is corrupted during the build process.
9:48:57 AM - mseaton: k-joseph: see https://github.com/PIH/openmrs-module-rwandareports/blob/master/pom.xml line 183:215. this sets things up to only do resource filtering on xml and properties files, so that any other files within the resources (eg. binary excel files) are not mangled during the build
9:49:35 AM - mseaton: k-joseph: you’ll need to make sure you do this not only in the main pom, but also in the omod pom (or api pom) if the filtering is independently specified there.
Give this a try and let me know how things go.