Another option is to write out well-formed Xml.
Ms Excel will read well-formed Xml.
To fill columns and rows of a worksheet you will need to restrict the depth of Xml element nesting to 2 layers from the root.
Once the data is in Ms Excel ,it is easy to save as html ,or even a pdf (although I have not used this).
I went down this road myself because I was asked to write SilkTest results to a web page.
I could see that I was in danger of being asked to make endless enhancements.
By exporting Xml for Ms Excel I do not have to code any report changes that can be coded in Vba (by somebody else)!!
One catch was that I thought it would be safest to wrap the testcase code in do .. except statements to make sure failed tests would also write to the Xml file.
This code has been running for a couple of weeks.
So far so good.