1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
public class TableToExcelServlet extends HttpServlet {
Logger logger = LoggerFactory.getLogger(TableToExcelServlet.class);
/**
* Constructor
*/
public TableToExcelServlet() {
super();
}
/**
* @see HttpServlet#init()
*/
@Override
public void init() throws ServletException {
super.init();
logger.debug("init servlet!");
}
/**
* see HttpServlet#init(ServletConfig)
*/
@Override
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
export(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
export(request, response);
}
private void export(HttpServletRequest request, HttpServletResponse response) throws IOException {
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet();
HSSFRow headerRow = sheet.createRow(0);
HSSFCell cell = headerRow.createCell(0);
cell.setCellValue("Hello world");
// write to stream
try {
String fileName = "test.xls";
response.setContentType("application/vnd.ms-excel");
logger.debug("setHeader for the response");
response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
logger.debug("get OutputStream");
OutputStream out = response.getOutputStream();
logger.debug("write workbook content");
if (logger.isDebugEnabled()) {
logger.debug("workbook = " + Arrays.toString(workbook.getBytes()));
}
workbook.write(out);
logger.debug("close outputStream");
out.close();
} catch (IOException e) {
e.printStackTrace();
}
logger.debug("export done");
} |
Partager