• 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 总结

     

     

  • 相关阅读:
    python 操作mysql
    python多线程
    python socket 网络编程
    nginx源码编译安装
    CentOS网卡配置文件
    使用本地yum源
    ping github 请求超时
    ping github 请求超时
    设计模式-装饰器模式
    设计模式-装饰器模式
  • 原文地址:https://www.cnblogs.com/attilax/p/15198792.html
Copyright © 2020-2023  润新知