Tem como abrir um arquivo DOC ou XLS no Browser? [Não Resolvido URGENTE]

Pessoal Preciso abrir um arquivo DOC ou XLS no browser parecido como se fosse o que em pdf faz, ou alguma outra forma porem preciso que ele seja mostrado em html.

Preciso muito disso

Cara, escreva os bytes do seu arquivo no response e defina o contenttype da resposta como application/msword.

Tudo bem, já estou fazendo isso…
Mas ele abre a caixa para salvar o arquivo no computador o que eu queria era que ele abrisse no browser mais ou menos no mesmo esquema que o pdf.
Tipow abrisse em html entendeu?

Mas vlw pela ajuda brigadão

:stuck_out_tongue:

Não sei se dá pra fazer isso que você quer com arquivos do Office…

O que acontece com os arquivos PDF, na verdade, é que o browser deve estar com algum plugin da Adobe instalado e então ele verifica que a resposta é do tipo application/pdf e, então, ele já abre o pdf no browser, sem pedir para baixar.

Note que ele não abre o PDF em uma página HTML, como você disse; na verdade, ele abre no browser, através de um plugin do browser (você não consegue, por exemplo, ver o código fonte do html com o PDF dentro de uma tag embed da vida).

Entendi mas é possível mostrar arquivos do office em html?
Transformar eles em HTML e apresentar no browser?
Eu não quero ficar dependendo do Office pro cara visualizar o arquivo

Acho que não tem como… você precisa entender como é feito o esquema para abrir os arquivos binários retornados em uma solicitação http…

Basicamente, o servidor, quando envia a resposta binária, ele diz em um cabeçalho qual o tipo do conteúdo (contentType). Quando o browser recebe a resposta, ele verifica o contentType e, então, vai procurar na máquina do cliente qual o programa que é capaz de exibir aquele tipo de conteúdo e, portanto, acaba existindo alguma dependência de programa do lado do cliente para ele visualizar os arquivos. (Se você não quer que ele dependa do MS Office por ser proprietário, caso ele tenha outros editores, como o OpenOffice ou BrOffice ele seria capaz de visualizar tais arquivos, embora nem sempre tudo que é feito no MS Office pode ser visualizado exatamente igual nos outros editores).

Inclusive, acho que você não sabia, mas o cliente só consegue abrir PDF porque ele tem o Adobe Acrobat Reader (ou algum outro leitor de PDF) instalado na máquina dele. Se ele não tivesse, então ele também não conseguiria abrir o PDF (no caso do windows, provavelmente apareceria aquela tela perguntando para o usuário qual programa ele deseja escolher para abrir o arquivo).

Quanto a exibir arquivos doc e xls no html, você precisaria utilizar alguma API para conseguir ler o conteúdo dos arquivos (como Apache POI) e montar o HTML manualmente. Atualmente o POI tem maior suporte para XLS… O suporte a doc ainda é meio precário… mas acho que é um trabalho muito grande montar o HTML a partir de um doc/xls (você teria que montar toda a formatação do html manualmente… não teria uma maneira automática de fazer).

Se você realmente não quiser esta dependência, então você vai ter que mudar a maneira como recebe as informações. Por exemplo, ao invés de você receber arquivos DOC e XLS para exibir ao cliente, você vai ter que apresentar formulários que solicitem os dados necessários (os dados que estariam nos arquivos) e aí você já teria os dados puros (já pularia a etapa de fazer parse nos arquivos usando o POI). Em seguida, você montaria a página HTML com esses dados.

Cara muito obrigado, ótima resposta.
Você foi super esclarecedor, agora eu tenho argumentos para ir contra a apresentação em HTML, eu já estava contra isso agora eu vou conseguir convence-los.

Cara qualquer coisa que precisar estamos ai…

Vlw mesmo

:wink: