grails导出excel
发布时间:2020-12-14 17:09:35 所属栏目:大数据 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 /** * 构建excel * @param block 闭包,封装构建逻辑 */ def build(dataList,titleList,out,Closure block){ def wb = new HSSFWorkbook(); def sheet
|
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 /**
* 构建excel
* @param block 闭包,封装构建逻辑
*/
def build(dataList,titleList,out,Closure block){
def wb = new HSSFWorkbook();
def sheet = wb.createSheet("new sheet");
def row
def cell
def style = wb.createCellStyle()
def font = wb.createFont()
font.setFontHeightInPoints((short)12)
font.setFontName("宋体")
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD)
style.setFont(font)
style.setAlignment(HSSFCellStyle.ALIGN_CENTER)
style.setFillBackgroundColor(HSSFColor.ORANGE.index)
row = sheet.createRow((short) 0);
titleList.eachWithIndex{title,i ->
cell = row.createCell((short) (i));
cell.setCellStyle(style)
cell.setCellValue(title);
}
//生成逻辑
block.call(sheet,row)
titleList.size().times{ i ->
sheet.autoSizeColumn((short)i)
}
wb.write(out);
out.close()
}
/**
* 生成excel
* @param dataList 数据列表,其中的元素是放入每行cell的数据
* @param titleList 标题列表
* @param out
*/
def genForList(List<List> dataList,List titleList,out){
def block = { sheet,row ->
dataList.eachWithIndex{ dataRow,i ->
row = sheet.createRow((short) (i+1));
dataRow.eachWithIndex{ data,j ->
row.createCell((short) (j)).setCellValue(data.toString())
}
}
}
build(dataList,block)
}
/**
* 生成excel
* @param dataList 数据列表,其中的元素是放入每行cell的数据
* @param titleList 标题列表
* @param out OutputStream
*/
def genForMap(List<Map> dataList,i ->
row = sheet.createRow((short) (i+1));
dataRow.eachWithIndex{ k,v,j ->
row.createCell((short) (j)).setCellValue(v.toString())
}
}
}
build(dataList,block)
}
以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
