Atitit.导出excel报表的设计与实现java .net php 总

Atitit.导出excel报表的设计与实现java .net php 总结

 

 

1导出报表 表格的设计要素1

1.1. 支持通用list<Map>转换1

1.2. 对于空列是否输出1

1.3. 支持http web直接输出1

2Api2

2.1. private static void toExcel(String titles, String filds,List<Map> list,OutputStream outStrm)2

2.2. Response版 toExcel(String titles, String filds,List<ati> li,HttpServletResponse response )2

2.3. File版  toExcel(String titles, String filds,List<Map> list,String outputFilePath)2

3Php版本PHPExcel4

 

 

1. 导出报表 表格的设计要素

1.1. 支持通用list<Map>转换

1.2. 对于空列是否输出

1.3. 支持http web直接输出

 

 

作者:: 绰号:老哇的爪子(EAGLE paw,鹰爪,简称爪子)   全名简写Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

 

 

2. Api

2.1. private static void toExcel(String titles, String filds,List<Maplist,OutputStream outStrm)

2.2. Response版 toExcel(String titles, String filds,List<ati> li,HttpServletResponse response )

 

2.3. File版  toExcel(String titles, String filds,List<Maplist,String outputFilePath

public static void toExcel(String titles, String filds,List<Maplist,String outputFilePaththrows Exception {

// 第一步,创建一个webbook,对应一个Excel文件

HSSFWorkbook wb = new HSSFWorkbook();

// 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet

HSSFSheet sheet = wb.createSheet("sheet1");

// 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short

HSSFRow row = sheet.createRow((int) 0);

// 第四步,创建单元格,并设置值表头 设置表头居中

HSSFCellStyle style = wb.createCellStyle();

style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式

 

String[] tit_arr=titles.split(",");

int n=0;

for(String tit:tit_arr)

{

HSSFCell cell = row.createCell((shortn);

cell.setCellValue(tit);

//cell.set

cell.setCellStyle(style);

n++;

}

 

 

// 第五步,写入实体数据 实际应用中这些数据从数据库得到,

 

for (int i = 0; i < list.size(); i++)

{

row = sheet.createRow((inti + 1);

Map stu = (Maplist.get(i);

// 第四步,创建单元格,并设置值

int colIndex=0;

for(String tit:tit_arr)

{

String  curField=getFild(filds,colIndex);

Object v = stu.get(curField);

if(v==nullv="";

//String val =v.toString();

 try{

  val= v.toString();

 }catch(Exception e){}

//if(val==null)continue;

HSSFCell cell = row.createCell((shortcolIndex);

if(v instanceof Integer)

cell.setCellValue(Double.valueOf(v.toString()));

else

cell.setCellValue(v.toString());

//cell.setCellStyle(style);

colIndex++;

}

 

}

// 第六步,将文件存到指定位置

try

{

//String outputFilePath = "E:/students.xls";

FileOutputStream fout = new FileOutputStream(outputFilePath);

wb.write(fout);

fout.close();

}

catch (Exception e)

{

e.printStackTrace();

}

}

 

 

3. Php版本PHPExcel

 

 

参考

atitit.查询结果 导出为excel的实现java .net php 总结

 

 

posted @ 2016-01-13 18:30  attilaxAti  阅读(26)  评论(0编辑  收藏  举报