Hi,
Myself, I have a similar situation: I have many thousands of "gold standards" that FlexCel must be able to produce correctly in order to do a release. I do look at a lower level than APIMate, because that would be fooling myself: APIMate uses FlexCel, and so it can't be trusted to reveal bugs in FlexCel. So in my case I do a lot of manual comparing, and have setup a big framework that helps me separate cosmetic changes from real changes and bugs.
But in your case, I think I would use APIMate for comparing, yes. I've even blogged about how to diff Excel files with APIMate here:
(note that some change in the blog css styles rendered the images too small, but you can still see them by dragging them and dropping them in a new tab)
But note that this post was for
FlexCel.NET. For some reason I don't remember (I think it was OS/X related (!)), you can't call the APIMate delivered with Delphi from the command line. And by default, it will only show one sheet, not all sheets as you would need to diff the full file, not just the active sheet.
The good news is: the support for doing it is all there, so it is easy to modify APIMate in delphi to show all sheets.
If you open the APIMate project, UApiMate.pas, and search for the text:
edData.Text := Api.Process(SelectedLang, edXlsFileName.Text, cbUsing.Checked);
And change it to:
edData.Text := Api.Process(SelectedLang, edXlsFileName.Text, cbUsing.Checked, true);
And APIMate will show all sheets. Of course, in your final code you'll want to call this line directly from your code, not using APIMate.exe, but the library instead. (All the code is in a library, APIMate.exe is just a wrapper that calls it). But when you call that line, make sure to remember to output all the sheets.
I don't know, this is what I can think of. As said, Automated testing in FlexCel is a little lower level, but it all boils down to having a big set of "reference" files, and seeing if the new files are still the same. The method is quite robust at least for me, and finds sometimes bugs introduced that I wouldn't have though in a million year. Due to the big number of reference files and the fact that it finds all kind of stuff, it is that I am very sure when I release a new version that we aren't breaking anything. If FlexCel can still generate the thousands of reference files correctly it is very likely that it can also generate the files from its users. And I don't remember the last time I saw a regression bug.