81,094
社区成员
发帖
与我相关
我的任务
分享
public String exportEXCEL() {
ByteArrayOutputStream outStream = null;
String resData = null;
try {
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = null;
String timeFlag = "";
TimeUtil timeUtil = new TimeUtil();
timeFlag = timeUtil.gettimesStringYYYYMMDD();
exportFileName = this.title + timeFlag +".xls";//title是前台传入的
exportFileName = new String(exportFileName.getBytes(),"utf-8");
outStream = new ByteArrayOutputStream();
sheet = workbook.createSheet(this.title);
//表标题样式
HSSFCellStyle titylStyle = workbook.createCellStyle();
titylStyle.setFillForegroundColor(HSSFColor.SKY_BLUE.index);
titylStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
titylStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
titylStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
titylStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);
titylStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
titylStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
//列标题字体样式
HSSFFont font = workbook.createFont();
font.setColor(HSSFColor.VIOLET.index);
font.setFontHeightInPoints((short) 16);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
// 把字体应用到当前的样式
titylStyle.setFont(font);
//其它列表样式
HSSFCellStyle cellStyle = workbook.createCellStyle();
cellStyle.setFillForegroundColor(HSSFColor.LIGHT_YELLOW.index);
cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);
cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
//生成字体
HSSFFont font2 = workbook.createFont();
font2.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);
//把字体应用到当前的样式
cellStyle.setFont(font2);
HSSFRow titleRow = sheet.createRow(0);
HSSFCell titleCell = titleRow.createCell(0);
titleCell.setCellValue("标题");
HSSFCell titleCell1 = titleRow.createCell(1);
titleCell1.setCellValue("姓名");
HSSFRow row = sheet.createRow(1);
HSSFCell cell = row.createCell(0);
cell.setCellValue("测试");
HSSFCell cell1 = row.createCell(1);
cell1.setCellValue("张三");
workbook.write(outStream);
outStream.flush();
byte[] bb = outStream.toByteArray();
this.exportFile = new ByteArrayInputStream(bb);
resData = "excel";
this.logger.info("生成EXCEL成功");
} catch(Exception e) {
e.printStackTrace();
this.logger.error(e);
resData = "error";
} finally {
try {
outStream.flush();
outStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return resData;
}
public InputStream getExportFile() {
return exportFile;
}
public void setExportFile(InputStream exportFile) {
this.exportFile = exportFile;
}
public String getExportFileName() {
return exportFileName;
}
public void setExportFileName(String exportFileName) {
this.exportFileName = exportFileName;
}
<result name="excel" type="stream">
<param name="contentType">application/vnd.ms-excel</param>
<param name="contentDisposition">attachment;filename="${exportFileName}"</param>
<param name="bufferSize">4096</param>
<param name="inputName">exportFile</param>
</result>