I have a work-around. Basically the idea is to have the Excel application
re-save the spreadsheet (using its own methodology). After Crystal Reports
creates the XLS file I call the procedure below. Excel 2007 enforces the
sheet name size limit of 31 characters; Crystal Reports was using the title
of the report to create the spreadsheet name, which caused some spreadsheets
in our application to exceed this limit.
I’m not sure if this was the only ” File error: data may have been lost.”,
but I stopped getting the error after this procedure was done. If someone
has a better solution I would still be interested in knowing it.