Exportando a archivo Excel .xlsx

¿Cómo puedo exportar un archivo .xlsx para sobresalir a través de mvc usando Chrome? Funciona para .xls pero no para .xlsx

     Response.ClearContent();
        Response.AddHeader("content-disposition", "attachment; filename= Estimate1.xlsx");
        Response.ContentType = "application/excel";
        StringWriter sw = new StringWriter();
        HtmlTextWriter htw = new HtmlTextWriter(sw);

        Response.Write(sw.ToString());
        Response.End();

preguntado el 03 de mayo de 12 a las 18:05

echa un vistazo a epplus.codeplex.com -

Estamos usando EPPlus en uno de nuestros proyectos y funciona muy bien. -

También lo estoy usando, funciona muy bien y, a veces, las funciones son un poco limitadas, por ejemplo, todas las opciones de diagrama aún no están disponibles o no devuelve un error si se escriben más de 1000000 filas. Además, a veces los números se escriben de manera incorrecta, Excel luego se queja de archivos xls rotos.

1 Respuestas

Verifique sus tipos MIME en IIS: el servidor web no reconoce las extensiones de archivo de Office 2007 (y superior) y se niega a servirlas.

Vea Registre los tipos MIME de formato de archivo de 2007 Office system en servidores en TechNet sobre este tema.

Incluso si no está utilizando IIS "real", debe intentar agregar el tipo MIME xslx a su web.config:

<configuration>
    <system.webServer>
        <staticContent>
            <mimeMap fileExtension=".xslx" mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
        </staticContent>
    </system.webServer>
</configuration>

contestado el 03 de mayo de 12 a las 19:05

Estoy usando un host local asp.net no IIS - Tman

@TMan Su problema sonaba exactamente como si su servidor web supiera sobre .xls MIME-Type pero se pierda el de .xslx. - Filburt

@Tman: como señala Filburt, su "Tipo de contenido" de "aplicación/excel" no es correcto para los archivos xlsx: debe usar el que se enumera aquí: blogs.msdn.com/b/vsofficedeveloper/archive/2008/05/08/… - tim williams

Hola, ya intenté usar el tipo mime correcto, pero aún dice que el archivo está dañado: Jurán

@Juran En su caso, debe intentar reducir a crear el archivo de Excel en blanco más básico y, si el problema persiste, intente inspeccionar el contenido enviado con fiddler y/o wireshark. También puede intentar configurar su cliente para abrir archivos .xlsx usando el bloc de notas para inspeccionar el contenido. - Filburt

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.