Проверьте следующее один за другим, чтобы удалить «Ошибка нечитаемого содержимого» из Excel.
1.Убедитесь, что правильные данные записаны в правильной ячейке.
сделать это для всех ячеек. Может случиться, что неправильно записанные данные в одной ячейке, вызывающей эту проблему. Индекс ячеек используется правильно.
2. Попробуйте использовать Cell.DataType = new EnumValue (CellValues.String) вместо общей строки. Это может помочь устранить ошибку.
3.Если в любой ячейке содержится # VALUE / # REF / # NAME? или #DIV error, удалите эту ошибку.
4.Эта проблема возникает при загрузке файла с сервера.
Создание электронной таблицы Excel в веб-приложении с использованием MemoryStream и ее загрузка.
используйте следующий код:
HttpContext.Current.Response.Clear ()
Response.ClearHeaders()
Response.Buffer = False
msReportStream = CType(controller.GetFromSession
(Constants.SESSION_REPORT), MemoryStream)
Response.ContentType = "application/vnd.openxmlformats-
officedocument.spreadsheetml.sheet"
Response.AddHeader("Connection", "Keep-Alive")
Response.AddHeader("Content-Disposition", String.Format("attachment;
filename={0}", strReportFileName))
Response.ContentEncoding = Encoding.UTF8
Response.BinaryWrite(msPNLReportStream.ToArray())
Response.Flush()
Response.Close()
Response.End()--use this when the code is deployed in server only not required in local.gives error in local.
msReportStream.Dispose()
msReportStream.Close()
если вы используете технологию ASPOSE, используйте
Me.Response.Clear ()
Me.Response.Buffer = False
Me.Response.AddHeader("Accept-Ranges", "bytes")
Response.ContentType = "application/octet-stream"
Response.AddHeader("Connection", "Keep-Alive")
Response.ContentEncoding = Encoding.UTF8
asposeReport.ShowSavePopUp(Me.Response, controller.GetFromSession(Constants.SESSION_REPORT), strReportFileName)
Me.Response.Flush()
Me.Response.Close()
Me.Response.End()