I try use style:
But in generated excel font is 'Calibri'.   I'm doing something wrong ?               


I see you are getting the right "normal" style, with:
I try use my style "normal".
I use   my enum enumXlsStyles for facility.
I try rename style "normal"  to "myNormal" for exclude name conflict. Other property (size, align, wraptext) work right, but name dont work

I see the font changed ok. Might there be something different in your machine?  (maybe a corrupted tahoma?)

I've tried the following console application:

I send files  from

Thanks, I got the file.

What happens in your case, is that Excel 2007/10 have a font property named "Scheme" that identifies which scheme of the current theme you are using, and this property has priority over the font name.

This is done this way so when you change the theme of the sheet, say from "Office" to "Apex", the font changes from "calibri" to "book antiqua"  If the font name had priority, the fonts wouldn't change.

So you need to set the scheme of the font, besides the name and size. Try adding:
to the font definition in your code. TFontScheme = None means "use the hardcoded name".  TFontScheme = major, means, "use the major font for the theme, no matter what the font name is", and Minor is the same for the minor font of the theme. (a theme defines a major and a minor font, and when you change the theme, all cells that are set to major or minor change with the theme. the cells that are set to none remain with their font).

As your file already had Scheme = Major, when you changed it , it kept being major. Setting it to none will fix your problems.

If you really want to set an hyperlink in an image, you can do it with:
but I think having a template like in your case makes it more flexible, so I would keep it.

Yes. All work.