/**
* 导出Excel表格
* @param request 请求
* @param response 响应
*/
public void export(HttpServletRequest request, HttpServletResponse response) {
try {
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition",
"attachment;filename=" + new String("ExcelName".getBytes("gbk"),
"iso8859-1") + ".xls");
// 获取输出流
OutputStream outputStream = response.getOutputStream();
WritableWorkbook book = Workbook.createWorkbook(outputStream);
WritableSheet sheet = book.createSheet("ExcelName", 0);
//头部字体
WritableFont headerFont = new
WritableFont(WritableFont.createFont("宋体"), 10,
WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE, Colour.WHITE);
//内容字体
WritableFont bodyFont = new
WritableFont(WritableFont.createFont("宋体"), 9,
WritableFont.NO_BOLD);
//头部单元格样式
WritableCellFormat headerCellFormat = new WritableCellFormat(headerFont);
//内容单元格样式
WritableCellFormat bodyCellFormat = new WritableCellFormat(bodyFont);
// 背景色
headerCellFormat.setBackground(Colour.PALE_BLUE);
//水平居中对齐
headerCellFormat.setAlignment(Alignment.CENTRE);
//竖直方向居中对齐
headerCellFormat.setVerticalAlignment(VerticalAlignment.CENTRE);
bodyCellFormat.setAlignment(Alignment.CENTRE);
bodyCellFormat.setVerticalAlignment(VerticalAlignment.CENTRE);
//单元格样式
CellView cellView = new CellView();
//设置自动大小
cellView.setSize(5000);
CellView cellView1 = new CellView();
//设置自动大小
cellView1.setSize(2000);
CellView cellView2 = new CellView();
//设置自动大小
cellView2.setSize(300);
//设置列宽
sheet.setRowView(0, cellView2);
sheet.setColumnView(0, cellView);
sheet.setColumnView(1, cellView);
sheet.setColumnView(2, cellView1);
sheet.setColumnView(3, cellView);
// 设置导出表单头部
sheet.addCell(new Label(0, 0, "英文名称", headerCellFormat));
sheet.addCell(new Label(1, 0, "中文名称", headerCellFormat));
sheet.addCell(new Label(2, 0, "性别", headerCellFormat));
//数据填充
sheet.addCell(new Label(0, 1, "英文名称", bodyCellFormat));
sheet.addCell(new Label(1, 1, "中文名称", bodyCellFormat));
sheet.addCell(new Label(2, 1, "男", bodyCellFormat));
book.write();
book.close();
outputStream.flush();
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}