If you're looking to send something read-only back to the client, try rendering a PDF document. That's what most people do when generating quotes and the like online.
Originally posted by Jeroen Wenting:
you can't.
If you know the Excel codes to make it readonly and insert those into the data at the correct positiont that should work but won't prevent the users from setting it back to write-enabled.
Of course it doesn't really matter as the data will not be stored into your datastore, if the users save the data it's to their own machines.