Prefácio
Acredito que muitos amigos exportarão dados para os requisitos do Excel no trabalho real. Geralmente, existem duas maneiras de fazer isso.
Primeiro, use o JXL para gerar o Excel e salvá -lo no servidor e faça o download do arquivo após a geração da página.
O segundo é usar o POI para gerar o Excel e, em seguida, usar o Stream para emitê -lo na recepção para baixá -lo diretamente (PS: é claro, ele também pode ser gerado para o servidor e depois baixado.). Aqui discutimos o segundo tipo.
Caminho de Struts2
Normalmente, eu colocava o HSSFWorkbook já gerado em um InputStream e, em seguida, vá para o arquivo de configuração XML para alterar o resultado de retorno para fluxo. do seguinte modo:
private void Respoedata (HSSFWorkbook WB) lança IoException {byteArrayOutputStream Baos = new ByteArrayOutputStream (); WB.Write (Baos); baos.flush (); byte [] aa = baos.tobytearray (); ExcelStream = new ByteArrayInputStream (aa, 0, aa.length); baos.close ();}Arquivo de configuração:
<ação name = "exportxxx" method = "exportxxx"> <resultado name = "exportsuccess" type = "stream"> <param name = "inputName"> exceltream </param> <param "/" contentType "> aplicação/vnd.ms-excel </param> name =" contentSpositionEngment; </resultado> </ction>
Isso alcançará o objetivo de clicar no link para baixar o arquivo diretamente.
Springmvc Way
Publique o código primeiro:
@RequestMapping ("/exportxxx.action") public void exportxxx (solicitação HttPervletRequest, resposta httpServletResponse, @RequestParam (value = "ScheduleId", defaultValue = "0") int schedionId) {hssfworkbook wb = createxEx (ScheduleId); tente {Response.setheader ("Content-Disposition", "Applement; FILENAME = compromisso Response.setContentType ("Application/vnd.ms-excel; charset = utf-8"); OutputStream out = Response.getOutputStream (); wb.Write (Out); out.flush (); out.Close (); } catch (ioexception e) {e.printStackTrace (); }} De fato, Springmvc e Struts2 são os mesmos em princípio, mas o Struts2 é a maneira de configurar o arquivo. Primeiro, use o método createExcel() para gerar o Excel e retornar. Finalmente, use response para a saída do Excel no primeiro plano. Esse método é geral e você também pode experimentá -lo com Servlet、Struts2 etc. Precisamos apenas definir as informações de saída correspondentes nas informações do cabeçalho response .
Resumir
Seja usando o STRUTS2 ou o SpringMVC, ele é basicamente uma resposta usada; portanto, desde que entendamos minuciosamente a resposta, seja baixando fotos, mundo, excel ou outros arquivos, é o mesmo.
Endereço do Github: https://github.com/crossoverjie
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.