1、需要添加的依赖:
<dependency>
<groupId>jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.4.2</version>
</dependency>
2、JXLUtil:
/**
*objIn 导出的数据数组
*excelColumName 标题名称list
* fileName 导出时候的名字
*/
public static void exportExcel(String[ ][ ] objIn,List excelColumnName,String fileName,HttpServletResponse response){
try{
OutputStream os= response.getOutputStream(); //获取输出流
response.reset(); //清空输出流
response.setHeader("Content-disposition","attachment; fileName=" +new String(fileName.getBytes("GBK2312"),"ISO8859_1")+".xls"); //设定输出文件头
response.setContentType("application/msexcel"); //定义输出类型
WritableWorkbook wwb =new WriteWorkbook(os); //建立excel文件
WritableSheet ws = wwb.createSheet("Sheet",0); //创建一个工作表
//标题样式
WritableFont wf =new WritableFont(WritableFont.ARIAL,12,WritableFont.BOLD,false,UnderlineStyle.NO_UNDERLINE); //设置单元格文字格式
WritableCellFormat wcf =new WritableCellFormat(wf);
wcf.setVerticalAlignment(VerticalAlignment.CENTER); //设置标题垂直对其方式
wcf.setAligment(Alignment.CENTER); //设置标题水平对其方式
//遍历标题
for(int j=0; j<excelColumName.size(); j++){
ws.addCell(new Lable(j,0,(String) excelColumName.get(j),wcf)); // 第一个参数代表列数 第二个代表行 第三个是内容 第四个是样式(可选)
ws.setColumView(j,20); //设置列宽
}
//设置内容
wcf= new WritableCellFormat();
wcf.setVerticalAlignment(VerticaAligment.CENTER);
wcf.setAlignment(Alignment.CENTER);
wcf.setWrap(true);
for(int i=0; i<objIn.length; j++){
for(int j=0; j<excelColumnName.size(); j++){
ws.addCell(new Lable(j,i+1,objIn[i][j],wcf));
}
}
wwb.write();
wwb.close();
}catch(Exception e){
e.printStackTrace();
}
}