Return both a byte array and a message from a web service

I have a web service written in Dotnet which returns a byte array that the web browser figures out is Excel and lets it be opened.
That is happy path.

But what if I get an error? then I'd like to return an error of some kind, let's say a human readable string.
I could return a different Excel document, one with error message, but would prefer to show it directly in the browser.

Is it even possible?
If so, how would this be implemented on the server and client?