i am confused with REST. I have a service which transforms a json into a excel file. This is a service, and doesnt represent an entity and thus has no state.
Is it OK to create a REST service for this with HTTP GET or what is the best practice to add such service to our collection of restful services?
... It is not a GET POST or PUT and it is not a resource and has no state. It is just a method, a function. So such functionality conflucts with the REST paradigm, right? So what and how to design or implement this properly?
This sounds like a POST call. You are creating an object which in this case in an Excel document. The only quirk here is that the server does not save an instance of it. However, this could be future functionality and the API would still make sense if you decided to save the spreadsheets (Although the response would then need to include an Id or URL to get back to the newly created resource)
The only decision at this stage would be deciding what the name of the endpoint will be. If this was a service that could create any type of generic spreadsheet from a JSON object it could resemble the following.
Post /API/Spreadsheet
A GET call in this context wouldn't make sense since there is nothing preexisting that someone can retrieve. PUT wouldn't make sense since we are not updating an existing entity.