Thanks for the reply. The value in the header row is not the field name, it's the 'title' of the column which defaults to the field name if a title is not specified.
In different scenarios, such as a globalised site, the title value is volatile depending on browser language, so coding against it is a bad idea.
Also, when adding a column group, this approach of rows is going to break. The header rows are a representation of how the workbook is going to look, and column groups will add additional rows. Mix this in to a dynamic implementation (MVC, programmatic column groupings etc) and yet more issues appear.
These are additional scenarios to what was mentioned in the original post, but should all be manageable in the control and customisation of the Excel output. My initial thoughts on the correct solution would be to somehow emit the real 'field' name into the workbook 'cell' generated by the grid Excel generator.
If a direct, reliable solution to this problem is not possible, can you offer advice on how best to raise this as an issue and change to the framework; I believe this would be a problem common to many end users.