List<String> headerRow = Arrays.asList("col1", "col2", "col3","col4","col5");
// Creates a xlsx workbook !!
XSSFWorkbook wb = ExcelHelper.writeToXlsxExcelFile(headerRow,EjbHelper.getAccountEJb().getCustomersByscPartyNumber("9B7W5"));
//Creating a file to dump xlsx
String fileLocation = "d://try.xlsx";
FileOutputStream fout = new FileOutputStream(fileLocation);
workbook.write(fout);
//Want to Create a Webservice to send response without saving file to hard-disk
ResponseBuilder response = Response.ok((Object)fout);
response.header("Content-Disposition","attachment; filename=" + "ResourceInformation.xlsx");
return response.build();上面的代码片段创建了一个xlsx文件,然后通过响应.I发送它,想知道有什么方法可以直接发送xlsx文件而不在硬盘上创建文件吗?
发布于 2017-02-10 17:54:31
我认为更简单的方法是直接使用HttpServletResponse:
public void yourMethod(@Context HttpServletResponse httpServletResponse) {
List<String> headerRow = Arrays.asList("col1", "col2", "col3","col4","col5");
Workbook wb = ExcelHelper.writeToXlsxExcelFile(headerRow,EjbHelper.getAccountEJb().getCustomersByscPartyNumber("9B7W5"));
response.setHeader("Content-Disposition","attachment; filename=" + "ResourceInformation.xlsx");
wb.write(response.getOutputStream());
response.flushBuffer();
}https://stackoverflow.com/questions/42156017
复制相似问题