Al crear una hoja de cálculo de Excel con Open XML SDK v2.0, nuestra salida de Excel inicialmente funcionó correctamente durante varios meses. Recientemente Excel (todas las versiones) comenzó a quejarse acerca de que "Excel encontró contenido ilegible en 'zot.xlsx'. ¿Desea recuperar el contenido de este libro de trabajo?". Estamos creando el archivo en una aplicación web, usando un MemoryStream como la tienda, que luego se envía como un byte [] en una respuesta HTTP con un tipo MIME de "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet". El contenido descomprimido de un archivo incorrecto era idéntico al contenido descomprimido de un archivo sin errores.Excel y "contenido ilegible" al crear una hoja de cálculo Open XML con MemoryStream
Respuesta
Perseguimos esto durante demasiadas horas, detectando un par de pistas falsas en el camino, pero al final, resolvimos que el archivo defectuoso era diferente en un aspecto. La longitud del archivo fue diferente. Antes de devolver MemoryStream y escribir el byte [] en la respuesta HTTP, asegúrese de truncar el MemoryStream para que su capacidad y longitud sean las mismas, utilizando un simple 'stream.Capacity = stream.Length;'.
Parece que Excel ahora detecta el contenido adicional en el archivo como un riesgo de seguridad como 'contenido ilegible' y arroja el error molesto, cuando en el pasado aceptaría el riesgo.
Nota: Respuesta tomado de su creador original, que anteriormente tenía la respuesta en su pregunta
Comprobar los siguientes uno por uno para eliminar "error de contenido ilegible" de Excel.
1.Asegúrese de que los datos correctos estén escritos en la celda correcta de la forma correcta. hágalo para todas las celdas. Es posible que los datos escritos erróneamente en una sola celda causen este problema. El índice de celda se usa correctamente.
2. Intente utilizar Cell.DataType = new EnumValue (CellValues.String) en lugar de cadena compartida. Esto puede ayudar a eliminar el error.
3.si alguna celda contiene # VALUE/# REF/# NAME? o el error #DIV, elimina esos errores.
4.Este problema se produce al descargar el archivo del servidor. Creación de hojas de cálculo de Excel en una aplicación web, utilizando un MemoryStream y descargando el mismo.
utilizar el siguiente código: 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()
si está utilizando la tecnología Aspose, utilice
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()
Utilice la herramienta de productividad Open XML SDK 2.5 para Microsoft Office para abrir el archivo .xlsx y validar el documento; esto le proporcionará cualquier error de validación que cause la cont ent
- 1. NullReferenceException al crear la hoja de cálculo de Excel
- 2. Usando Open XML, ¿cómo insertar una fórmula en una hoja de cálculo de Excel 2010?
- 3. Excel sigue cargando mi hoja de cálculo con un error
- 4. hoja de cálculo Excel xml: ¿es posible incrustar imágenes?
- 5. Formatee programáticamente una fecha en una hoja de Excel usando Office Open Xml SDK
- 6. Abrir hoja de cálculo xml en Excel de forma predeterminada
- 7. ¿Cómo crear una tabla SQL y llenarla con datos de hoja de cálculo de Excel?
- 8. Imprimir Ajustar al ancho con hoja de cálculo XML en Excel
- 9. Advertencia de "contenido encontrado ilegible para Excel" al abrir archivos Excel creados con PHPExcel
- 10. Hoja de cálculo de Excel de Excel utilizando EPPlus
- 11. Ocultar una hoja de cálculo de Excel con VBA
- 12. Copie una hoja de cálculo completa en una nueva hoja de cálculo en Excel 2010
- 13. Open XML SDK 2.0: ¿cómo actualizar una celda en una hoja de cálculo?
- 14. Obtener cell-backgroundcolor en Excel con Open XML 2.0
- 15. ¿Cómo leo el contenido de una hoja de cálculo de Excel con Ruby?
- 16. Agregar una macro a una hoja de cálculo de Excel con Java
- 17. Guardar hoja de cálculo de Excel con Interop C#
- 18. ¿Guardar hoja de cálculo de Excel como .csv con R?
- 19. Abrir archivo de Excel en una hoja de cálculo específica
- 20. Importación de datos de hoja de cálculo de Excel a otra hoja de cálculo de Excel que contiene VBA
- 21. Extraer VBA de una hoja de cálculo de Excel
- 22. usando C# para seleccionar una hoja de cálculo en Excel
- 23. Extrae datos de una hoja de cálculo Excel
- 24. ruby excel reader, gema de la hoja de cálculo
- 25. abrir libro de Excel de memorystream
- 26. cómo crear una hoja Excel válida con Java
- 27. Office Open XML (OOXML) Especificación: Cifrado
- 28. Cómo cambio el nombre de la hoja de C# en una hoja de cálculo de Excel
- 29. ¿Almacenar objetos en la hoja de cálculo de Excel?
- 30. C# lea la hoja de cálculo de Excel
Es muy buena forma de responder a su propia pregunta. Pero es mala idea poner la respuesta EN la pregunta :) Debe poner la respuesta en un formulario de respuesta y marcarla como correcta, de modo que su pregunta no aparezca en las listas de preguntas sin contestar. –