Atitit.导出excel报表的设计与实现php总结
1.导出报表表格的设计要素1
1.1.支持通用list<Map>转换1
1.2.对于空列是否输出1
1.3.支持httpweb直接输出1
2.Api2
2.1.privatestaticvoidtoExcel(Stringtitles,Stringfilds,List<Map>list,OutputStreamoutStrm)2
2.2.Response版toExcel(Stringtitles,Stringfilds,List<ati>li,HttpServletResponseresponse)2
2.3.File版toExcel(Stringtitles,Stringfilds,List<Map>list,StringoutputFilePath)2
3.Php版本PHPExcel4
1.导出报表表格的设计要素
1.1.支持通用list<Map>转换
1.2.对于空列是否输出
1.3.支持httpweb直接输出
作者::绰号:老哇的爪子(全名::Attilaxakbaralrapanui阿提拉克斯阿克巴阿尔拉帕努伊)汉字名:艾龙,EMAIL:1466519819@
转载请注明来源:/attilax
2.Api
2.1.privatestaticvoidtoExcel(Stringtitles,Stringfilds,List<Map>list,OutputStreamoutStrm)
2.2.Response版toExcel(Stringtitles,Stringfilds,List<ati>li,HttpServletResponseresponse)
2.3.File版toExcel(Stringtitles,Stringfilds,List<Map>list,StringoutputFilePath)
publicstaticvoidtoExcel(Stringtitles,Stringfilds,List<Map>list,StringoutputFilePath)throwsException{
//第一步,创建一个webbook,对应一个Excel文件
HSSFWorkbookwb=newHSSFWorkbook();
//第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
HSSFSheetsheet=wb.createSheet("sheet1");
//第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
HSSFRowrow=sheet.createRow((int)0);
//第四步,创建单元格,并设置值表头设置表头居中
HSSFCellStylestyle=wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);//创建一个居中格式
String[]tit_arr=titles.split(",");
intn=0;
for(Stringtit:tit_arr)
{
HSSFCellcell=row.createCell((short)n);
cell.setCellValue(tit);
//cell.set
cell.setCellStyle(style);
n++;
}
//第五步,写入实体数据实际应用中这些数据从数据库得到,
for(inti=0;i<list.size();i++)
{
row=sheet.createRow((int)i+1);
Mapstu=(Map)list.get(i);
//第四步,创建单元格,并设置值
intcolIndex=0;
for(Stringtit:tit_arr)
{
StringcurField=getFild(filds,colIndex);
Objectv=stu.get(curField);
if(v==null)v="";
//Stringval=v.toString();
try{
val=v.toString();
}catch(Exceptione){}
//if(val==null)continue;
HSSFCellcell=row.createCell((short)colIndex);
if(vinstanceofInteger)
cell.setCellValue(Double.valueOf(v.toString()));
else
cell.setCellValue(v.toString());
//cell.setCellStyle(style);
colIndex++;
}
}
//第六步,将文件存到指定位置
try
{
//StringoutputFilePath="E:/students.xls";
FileOutputStreamfout=newFileOutputStream(outputFilePath);
wb.write(fout);
fout.close();
}
catch(Exceptione)
{
e.printStackTrace();
}
}
3.Php版本PHPExcel
参考
atitit.查询结果导出为excel的实现php总结