纯java生成excel

HSSFWorkbook wk = new HSSFWorkbook();
HSSFSheet sheet = wk.createSheet("考生证书信息");
this.setSheetColumnWidth(sheet);
HSSFRow row = sheet.createRow((int) 0);

HSSFCellStyle style = wk.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);

HSSFCellStyle style2 = wk.createCellStyle();
style2.setAlignment(HSSFCellStyle.ALIGN_LEFT);
this.createCell(row, 0, style, HSSFCell.CELL_TYPE_STRING,"考生姓名");
this.createCell(row, 1, style, HSSFCell.CELL_TYPE_STRING,"性别");
this.createCell(row, 2, style, HSSFCell.CELL_TYPE_STRING,"出生日期");
this.createCell(row, 3, style, HSSFCell.CELL_TYPE_STRING,"文化程度");
this.createCell(row, 4, style, HSSFCell.CELL_TYPE_STRING,"颁证日期");
this.createCell(row, 5, style, HSSFCell.CELL_TYPE_STRING,"证书号");
this.createCell(row, 6, style, HSSFCell.CELL_TYPE_STRING,"身份证号");
this.createCell(row, 7, style, HSSFCell.CELL_TYPE_STRING,"职业(工种)");
this.createCell(row, 8, style, HSSFCell.CELL_TYPE_STRING,"鉴定级别");
this.createCell(row, 9, style, HSSFCell.CELL_TYPE_STRING,"理论成绩");
this.createCell(row, 10, style, HSSFCell.CELL_TYPE_STRING,"实操成绩");
this.createCell(row, 11, style, HSSFCell.CELL_TYPE_STRING,"综合成绩");
this.createCell(row, 12, style, HSSFCell.CELL_TYPE_STRING,"外语成绩");
this.createCell(row, 13, style, HSSFCell.CELL_TYPE_STRING,"评定成绩");
this.createCell(row, 14, style, HSSFCell.CELL_TYPE_STRING,"鉴定部门");
this.createCell(row, 15, style, HSSFCell.CELL_TYPE_STRING,"鉴定计划编号");

for (int i = 0; i < list.size(); i++) {
KsScoreListVO model=list.get(i);
HSSFRow row1 = sheet.createRow((short) (i + 1));// 建立新行

if(StringUtils.isNotBlank(model.getStuname()))

this.createCell(row1, 0, style,HSSFCell.CELL_TYPE_STRING, model.getStuname());

if(StringUtils.isNotBlank(model.getSex())){
if(model.getSex().equals("9")){
this.createCell(row1, 1, style,HSSFCell.CELL_TYPE_STRING, "未知");
}else{
this.createCell(row1, 1, style,HSSFCell.CELL_TYPE_STRING, model.getSex());
}
}

if(StringUtils.isNotBlank(model.getCredennum())){
String date=model.getCredennum().substring(6, 10)+"-"+model.getCredennum().substring(10, 12)+"-"
+model.getCredennum().substring(12, 14);
this.createCell(row1, 2, style,HSSFCell.CELL_TYPE_STRING, date);
}

if(StringUtils.isNotBlank(model.getEducation()))

this.createCell(row1, 3, style,HSSFCell.CELL_TYPE_STRING, model.getEducation());

if(model.getZsbftime()!=null)

this.createCell(row1, 4, style,HSSFCell.CELL_TYPE_STRING, DateUtils.format(model.getZsbftime(), "yyyy-MM-dd"));

if(StringUtils.isNotBlank(model.getZsnum()))

this.createCell(row1, 5, style,HSSFCell.CELL_TYPE_STRING, model.getZsnum());

if(StringUtils.isNotBlank(model.getCredennum()))

this.createCell(row1, 6, style,HSSFCell.CELL_TYPE_STRING, model.getCredennum());

if(StringUtils.isNotBlank(model.getZygzname()))

this.createCell(row1, 7, style,HSSFCell.CELL_TYPE_STRING, model.getZygzname());

if(StringUtils.isNotBlank(model.getJdrank()))

this.createCell(row1, 8, style,HSSFCell.CELL_TYPE_STRING, model.getJdrank());

if(StringUtils.isNotBlank(model.getLl_score()))

this.createCell(row1, 9, style,HSSFCell.CELL_TYPE_STRING, model.getLl_score());

if(StringUtils.isNotBlank(model.getSc_score()))

this.createCell(row1, 10, style,HSSFCell.CELL_TYPE_STRING, model.getSc_score());

if(StringUtils.isNotBlank(model.getZh_score()))

this.createCell(row1, 11, style,HSSFCell.CELL_TYPE_STRING, model.getZh_score());

if(StringUtils.isNotBlank(model.getWy_score()))

this.createCell(row1, 12, style,HSSFCell.CELL_TYPE_STRING, model.getWy_score());

if(StringUtils.isNotBlank(model.getPd_score()))

this.createCell(row1, 13, style,HSSFCell.CELL_TYPE_STRING, model.getPd_score());

if(StringUtils.isNotBlank(model.getBmdw()))

this.createCell(row1, 14, style2,HSSFCell.CELL_TYPE_STRING, model.getBmdw());

if(StringUtils.isNotBlank(model.getJdjhnum()))

this.createCell(row1, 15, style,HSSFCell.CELL_TYPE_STRING, model.getJdjhnum());

}

ByteArrayOutputStream out=new ByteArrayOutputStream();
try {
wk.write(out);
servletRequest.setAttribute("excelStream",new ByteArrayInputStream(out.toByteArray()));
servletRequest.setAttribute("filename", new String(vo.getJdjh().getBytes("GBK"),"ISO-8859-1")+".xls");//设置文件名
return SUCCESS;
} catch (IOException e) {
e.printStackTrace();
ExceptionLogHandler.saveExceptionLog(e,(String) getSession().get(SessionConstants.WSSIP_OPERATOR_ID));
return ERROR;
}finally{
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
ExceptionLogHandler.saveExceptionLog(e,(String) getSession().get(SessionConstants.WSSIP_OPERATOR_ID));
}
}


private void setSheetColumnWidth1(HSSFSheet sheet) {

// 根据你数据里面的记录有多少列,就设置多少列

sheet.setColumnWidth((short)0, (short)6000);

sheet.setColumnWidth((short)1, (short)6000);

sheet.setColumnWidth((short)2, (short)3000);

sheet.setColumnWidth((short)3, (short)2000);

sheet.setColumnWidth((short)4, (short)4000);

sheet.setColumnWidth((short)5, (short)4000);

sheet.setColumnWidth((short)6, (short)4000);
sheet.setColumnWidth((short)7,(short) 4000);
sheet.setColumnWidth((short)8,(short) 4000);
sheet.setColumnWidth((short)9,(short) 4000);
sheet.setColumnWidth((short)10,(short) 6000);
sheet.setColumnWidth((short)11,(short) 4000);
sheet.setColumnWidth((short)12,(short) 4000);

}

private void createCell(HSSFRow row, int column, HSSFCellStyle style,

int cellType, Object value) {

HSSFCell cell = row.createCell((short)column);

if (style != null) {

cell.setCellStyle(style);
}
switch (cellType) {
case HSSFCell.CELL_TYPE_BLANK: {
}
break;
case HSSFCell.CELL_TYPE_STRING: {
cell.setCellValue(value.toString());
}
break;
case HSSFCell.CELL_TYPE_NUMERIC: {
cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
cell.setCellValue(Double.parseDouble(value.toString()));
}
break;
default:
break;
}
}


private String fileName;


public String getFileName() {
return fileName;
}

public void setFileName(String fileName) throws UnsupportedEncodingException {
this.fileName = new String(fileName.getBytes("iso8859-1"), "utf-8");
}


//获取输出流
public InputStream getInputExcel()
{
return (InputStream)servletRequest.getAttribute("excelStream");
}


--------------------------------------------------------
jsp页面

function zs_export(type){
var row =grid2.getSelected();
if(!row){
mini.alert("请选择一条记录!");
return;
}
$("#id_xls").val(row.id);
$("#types_xls").val(type);
$("#jdjh_xls").val(row.jdjh);
var excelForm = document.getElementById("excelForm");
excelForm.action="${pageContext.request.contextPath}/osta/zsgl/exportexcel.action";
excelForm.submit();
}
----------------参数和from表单
<iframe id="exportIFrame" style="display:none;"></iframe>
<!--导出Excel相关HTML-->
<form id="excelForm" method="post" target="excelIFrame">
<input type="hidden" name="id" id="id_xls" />
<input type="hidden" name="types" id="types_xls" />
<input type="hidden" name="jdjh" id="jdjh_xls" />
</form>
<iframe id="excelIFrame" name="excelIFrame" style="display:none;"></iframe>

 

posted on 2017-07-14 09:26  王宏伟的博客  阅读(196)  评论(0编辑  收藏  举报