grails导出excel

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

 /**
     * 构建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)
    }

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

相关文章

背景:    8月29日,凌晨4点左右,某服务告警,其中一个...
https://support.smartbear.comeadyapi/docs/soapui/steps/g...
有几个选项可用于执行自定义JMeter脚本并扩展基线JMeter功能...
Scala和Java为静态语言,Groovy为动态语言Scala:函数式编程,...
出处:https://www.jianshu.com/p/ce6f8a1f66f4一、一些内部...
在运行groovy的junit方法时,报了这个错误:java.lang.Excep...