Abrir a folha de cálculo xml no Excel por omissão

numa aplicação web, estou a gerar uma folha de cálculo XML utilizando um modelo XSL criado a partir do Excel 2010. Eu quero que esta folha de cálculo XML para abrir no Excel por padrão. Então, adiciono as propriedades abaixo à resposta

Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "Attachment;Filename=export.xls");
Response.Charset = "";

Isso abre o arquivo no Excel, mas por causa da funcionalidade de endurecimento de extensão do Excel 2010, exibe o prompt -

o ficheiro que estás a tentar abrir, "exportação [1].xls', está em um diferente formato indicado pelo ficheiro extensao. Verificar se o ficheiro não está corrompido e é de uma fonte de confiança antes de abrir o ficheiro. Queres? para abrir o ficheiro agora?

Se eu clicar em "sim", abre bem. Mas, há alguma maneira de o Alerta ser completamente ignorado? Eu li sobre as mudanças de registro para desativar o prompt em uma máquina de usuário. Mas, este é um site público e essa solução não vai funcionar.

Posso definir o nome do ficheiro do anexo para exportar.xml. Se eu salvar e abrir no Excel, não há solicitar. Mas o XML não abrirá no Excel por padrão.

alguma ideia, para abrir a folha de cálculo xml no Excel, sem a linha de comandos?

Author: itsbalur, 2011-05-18

1 answers

Este blog ajudou-me a resolver o meu problema.

Http://www.shareyourwork.org/roller/ralphsjavablog/entry/generating_excel_sheets_with_xslt

O truque é adicionar esta instrução de processamento no seu modelo XSL da forma mencionada no post acima.

<xsl:processing-instruction name="mso-application">   
<xsl:text>progid="Excel.Sheet"</xsl:text>  
</xsl:processing-instruction>

Ao fazer isto, pode indicar a extensão de ficheiro as .xml, mas vai abrir no Excel por padrão.

 6
Author: itsbalur, 2011-05-19 08:26:15