导出所选行为excle

前端之家收集整理的这篇文章主要介绍了导出所选行为excle前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

要实现的是将所选行导出。例如勾选这两条

BoxguhAkWIw4cnY5Bf4powRMuZC/VSVbEYt6UBKGaMOt5fhk+QiQLwMgWBJICYYYYFwsZT28FJAMJZKGTzTTPoDGcXMBJmSTiMqA3G8PU4wAr2KvsWkZICw2WmUmjwj7KZ7mWaE4bUZDasseX087DcJIKgZtcQDzlmaEcxdWxcIJMQ5I7xfWSDDNrBiGoFklcSMDCOIO4+UEUymNII7XtRmBBFixAiJzpcjIMb+C+YR0rs5oxEaNi7rawRLaATPNAuAiGhcj+Wr9KBW14jjpEZYXfCFaUiP8czaIsWzQHhZX2LWIcsYcSbWnEevVXgbzNHVxVqpyaoJUzj3iZyqWcb4OLUbjeCujJAXaATDIlGpumnW1vkpZUo0w6o1U772hiqIAM+UymUa4RmxwZn1u4KZtQkhKUkp+IrzIoUnKtyMk1cfXwCEZsTNi4eHh+cla02mBgoK11Q19GuvNSla5ai+xnHKCPaHnllfv9TUVl/n2+vB+uJ1xrb6Ot++Dvay/C6NEbMteIujMWJNRgRAfGqMWNE2gx02sZOs7a66ul/MDmVPvXiw13nlCjv5Yqi96bfmm34BEG/aC3crvunXGNEY0SzBiKfuZeTGiFUZ8Scu+hVRA3AXesubvUqcttfN8QuXxx27pofQuQGIhRjxDF+n2ZcwgjqFnyLtTn01mEvsKOzIwEI5a2w/gRHQ2YirDETwOo0mwjN8nea7xR7MLoxfh1M8EGM/W+f7roksfwbAwDMCNCbzxiaU2SPB7EaQaKY7gH2AeM/BdBOjR29QC4jgLQ7DCPxi6Dtir31q3GoClwJV+KA/7+eus/+hqDa9FMnYFILGQe0CIGYzAn0Dk0/1I5hqJqgDdKDvAVFG6J47RkA1SmztMjgC8SoEwnveeYqSjjuAcdonIBxGIqsRIDo3+A7BBjEbCPQORMI5DoQNIKIpMbNLMgLZ1QmAroOaQKjjBCMs4Oh+YUJcb+AOumlG2C2dYFAjhIPAfgKGcoZLl+RwFYFy5wuKqWbKZzTAYxG/PyYlYa4AqCURSUZ4vwbCNLh7WiMov9hwT2ZyEmu6DHkAxoUg5pMdokEq4nQbMhq4s4S6OfYulJrOGQEXA7E77WcGCB+bYkhNTiNmAmF5HONhLJHsR0BEeOk0QmF6MN1dQqxHGnEOhEgwwiMlskB0ThMBwTgBAoQQc/lQQIgTINDBIiVBg1hD1dR0O6kRpkZ1FexZ+TqlEc6zxrl5jbBicA6Ezk4zNUJneqUiVZN+5PT8Zm/LV+qMcIViqmpy4VRXrMk0I3Y4s35fUr+TeCk3UctUTT4HdFXL1+XNMkF4JVwACA33U43D4fmbgpk1+EAUljWZOa4ihSbdVvQ5e4lj+Zk14ODA5VallmFE94/+e9cWQ1dYfQ1ep2nfR6y5+hq8TvOqBeaKjGi/TtO1X6dpFgDRfp3mcfw6zQ8ckQSG96eR3wAAAABJRU5ErkJggg==" alt="">

导出为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" alt="">

我的前台是easyUI实现的。所以前台代码为:

'btn_export''导出所选行''icon-print' arr = $('#dayrec''getSelections' (arr.length <= 0'温馨提示!''至少选择一行记录进行导出!''温馨提示','确认导出?', ids = '' ( i = 0; i < arr.length; i+++= arr[i].id+ ','前台取得所选行的ids,拼接成字符串,传入后台 ids = ids.substring(0,ids.length - 1'#downform').form('submit'"<%=basePath%>dayrec/exportSelected"后台可以接收到requestparam ids method : "post"='温馨提示','导出失败''#dayrec').datagrid('unselectAll' }); } } }</span></pre>

后台处理逻辑为:

@RequestMapping(value = "/exportSelected",method = dataset == String[]{"日期","所属公司","招聘企业","面试人数","入职人数","入职率(%)","备注"(dataset == || dataset.size() < 1 "没有查找到相应的数据,请刷新数据后重试""application/vnd.ms-excel"); response.setHeader("Content-Disposition","attachment;filename=dayRecruit.xls""Pragma","No-cache""Cache-Control","no-store"= ExportExcelsUtil.exportExcel(headers,dataset,sos);</span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;如果不需要额外数据exportExcel(headers,sos) </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; ExportExcelsUtil.exportExcel(2,1,2,"<a href="https://www.jb51.cc/tag/yonghu/" target="_blank" class="keywords">用户</a>信息",headers,sos)</span>

<span style="color: #000000"> response.flushBuffer();
} <span style="color: #0000ff">catch<span style="color: #000000"> (IOException e) {
e.printStackTrace();
}
<span style="color: #0000ff">return "成功导出"+dataset.size()+"条用户数据。"<span style="color: #000000">;
}

DayRecruitService的逻辑:

List List</span><Object[]> objList = <span style="color: #0000ff"&gt;new</span> ArrayList<Object[]><span style="color: #000000"&gt;(); List</span><DayRecruit> dayrec_list=<span style="color: #000000"&gt;dayRecruitDAO.findById(ids); </span><span style="color: #0000ff"&gt;if</span>(dayrec_list!=<span style="color: #0000ff"&gt;null</span>&amp;&amp;dayrec_list.size()>0<span style="color: #000000"&gt;){ </span><span style="color: #0000ff"&gt;for</span>(<span style="color: #0000ff"&gt;int</span> i=0;i<dayrec_list.size();i++<span style="color: #000000"&gt;){<span style="color: #99cc00"&gt;//循环遍历<a href="https://www.jb51.cc/tag/chaxun/" target="_blank" class="keywords">查询</a>到的数据结果列表 将每一条数据插入到对应行单元格</span> Object[] obj</span>=<span style="color: #0000ff"&gt;new</span> Object[7<span style="color: #000000"&gt;]; DayRecruit rec</span>=<span style="color: #0000ff"&gt;new</span><span style="color: #000000"&gt; DayRecruit(); rec</span>=<span style="color: #000000"&gt;dayrec_list.get(i); </span><span style="color: #0000ff"&gt;if</span>(rec!=<span style="color: #0000ff"&gt;null</span><span style="color: #000000"&gt;){ obj[</span>0]=<span style="color: #000000"&gt;rec.getDate(); obj[</span>1]=<span style="color: #000000"&gt;rec.getCustomer().getOrganization().getOrganizationName(); obj[</span>2]=<span style="color: #000000"&gt;rec.getCustomer().getEnterpriseName(); obj[</span>3]=(rec.getViewerNu())==<span style="color: #0000ff"&gt;null</span>?""<span style="color: #000000"&gt;:rec.getViewerNu(); obj[</span>4]=(rec.getEntryNu()==<span style="color: #0000ff"&gt;null</span>)?""<span style="color: #000000"&gt;:rec.getEntryNu(); </span><span style="color: #0000ff"&gt;if</span>(rec.getViewerNu()!=<span style="color: #0000ff"&gt;null</span>&amp;&amp;rec.getEntryNu()!=<span style="color: #0000ff"&gt;null</span><span style="color: #000000"&gt;) obj[</span>5]=(Math.round(Double.parseDouble(rec.getEntryNu())/Double.parseDouble(rec.getViewerNu())*100))/1.0+"%"<span style="color: #000000"&gt;; </span><span style="color: #0000ff"&gt;else</span><span style="color: #000000"&gt; obj[</span>5]=""<span style="color: #000000"&gt;; obj[</span>6]=(rec.getRemarks()==<span style="color: #0000ff"&gt;null</span>)?""<span style="color: #000000"&gt;:rec.getRemarks(); objList.add(obj); } } } </span><span style="color: #0000ff"&gt;return</span><span style="color: #000000"&gt; objList;<span style="color: #99cc00"&gt;//返回了对应的一行一行数据</span> }</span></pre>

DayRecruitDAO后台逻辑为:

List log.debug("get DayRecruit instance with id"+ list = = (ids == || ids.trim().equals("" StringBuffer hql </span>= <span style="color: #0000ff"&gt;new</span><span style="color: #000000"&gt; StringBuffer( </span>"from DayRecruit where id in(?"<span style="color: #000000"&gt;); String[] id </span>= ids.split(","<span style="color: #000000"&gt;); arrList.add(id[</span>0<span style="color: #000000"&gt;]); </span><span style="color: #0000ff"&gt;for</span>(<span style="color: #0000ff"&gt;int</span> i=0;i<id.length;i++<span style="color: #000000"&gt;){ hql.append(</span>",?"<span style="color: #000000"&gt;); arrList.add(id[i]); } hql.append(</span>")"<span style="color: #000000"&gt;); list </span>= (List<DayRecruit>) <span style="color: #0000ff"&gt;this</span>.getListByHQL(-1,-1<span style="color: #000000"&gt;,hql.toString(),</span><span style="color: #0000ff"&gt;this</span><span style="color: #000000"&gt;.toStringArray(arrList)); </span><span style="color: #0000ff"&gt;return</span><span style="color: #000000"&gt; list; } </span><span style="color: #0000ff"&gt;catch</span><span style="color: #000000"&gt; (RuntimeException re) { </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; TODO: handle exception</span> log.debug("get <a href="https://www.jb51.cc/tag/Failed/" target="_blank" class="keywords">Failed</a>"<span style="color: #000000"&gt;,re); </span><span style="color: #0000ff"&gt;throw</span><span style="color: #000000"&gt; re; } }</span></pre>

其中涉及到的hql语句模板是

List getListByHQL( nStartRow, Query query= ( j = 0,i=0; j < strParams.length; j++(strParams[j]!=(!strParams[j].equals(""++ (nRowSize > 0 && nStartRow > -1-1)* </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;log.debug("BEGIN:" + DateUtils.getStrOfDateMinute());</span> List<?> objList =<span style="color: #000000"&gt; query.list(); </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;log.debug("END:" + DateUtils.getStrOfDateMinute());</span> <span style="color: #0000ff"&gt;return</span><span style="color: #000000"&gt; objList; } </span></pre>

此处还涉及到了工具类  代码为:

<span style="color: #0000ff">public <span style="color: #0000ff">class<span style="color: #000000"> ExportExcelsUtil {
<span style="color: #008000">/**
<span style="color: #008000">

  • <span style="color: #808080">@param<span style="color: #008000"> dataset 数据
  • <span style="color: #808080">@param<span style="color: #008000"> out 流
    <span style="color: #008000">*/
    <span style="color: #0000ff">public <span style="color: #0000ff">static <span style="color: #0000ff">void exportExcel(Collection<span style="color: #000000"> dataset,OutputStream out) {
    exportExcel(0,"sheet1",<span style="color: #0000ff">null,out,"yyyy-MM-dd"<span style="color: #000000">);
    }
</span><span style="color: #008000"&gt;/**</span><span style="color: #008000"&gt;
 * 
 * </span><span style="color: #808080"&gt;@param</span><span style="color: #008000"&gt; headers <a href="https://www.jb51.cc/tag/biaoti/" target="_blank" class="keywords">标题</a>
 * </span><span style="color: #808080"&gt;@param</span><span style="color: #008000"&gt; dataset 数据
 * </span><span style="color: #808080"&gt;@param</span><span style="color: #008000"&gt; out
 </span><span style="color: #008000"&gt;*/</span>
<span style="color: #0000ff"&gt;public</span> <span style="color: #0000ff"&gt;static</span> <T> <span style="color: #0000ff"&gt;void</span> exportExcel(String[] headers,Collection<T><span style="color: #000000"&gt; dataset,"yyyy-MM-dd"<span style="color: #000000"&gt;);
}

</span><span style="color: #008000"&gt;/**</span><span style="color: #008000"&gt;
 * 
 * </span><span style="color: #808080"&gt;@param</span><span style="color: #008000"&gt; headers <a href="https://www.jb51.cc/tag/biaoti/" target="_blank" class="keywords">标题</a>
 * </span><span style="color: #808080"&gt;@param</span><span style="color: #008000"&gt; dataset 数据
 * </span><span style="color: #808080"&gt;@param</span><span style="color: #008000"&gt; out 
 * </span><span style="color: #808080"&gt;@param</span><span style="color: #008000"&gt; pattern 日期格式
 </span><span style="color: #008000"&gt;*/</span>
<span style="color: #0000ff"&gt;public</span> <span style="color: #0000ff"&gt;static</span> <T> <span style="color: #0000ff"&gt;void</span> exportExcel(String[] headers,OutputStream out,String pattern) {
    exportExcel(</span>0,"sheet1"<span style="color: #000000"&gt;,pattern);
}

</span><span style="color: #008000"&gt;/**</span><span style="color: #008000"&gt;
 * 导出数据
 * </span><span style="color: #808080"&gt;@param</span><span style="color: #008000"&gt; colSplit 需要冻结的列数目,如果没有传0
 * </span><span style="color: #808080"&gt;@param</span><span style="color: #008000"&gt; rowSplit 需要冻结的行数目,如果没有传0
 * </span><span style="color: #808080"&gt;@param</span><span style="color: #008000"&gt; dataBeginIndex 数据从第几个字段开始导出,每一条的记录,如果没有传0
 * </span><span style="color: #808080"&gt;@param</span><span style="color: #008000"&gt; sheetName 表格名字,sheet1的<a href="https://www.jb51.cc/tag/mingcheng/" target="_blank" class="keywords">名称</a>
 * </span><span style="color: #808080"&gt;@param</span><span style="color: #008000"&gt; headers <a href="https://www.jb51.cc/tag/biaoti/" target="_blank" class="keywords">标题</a>
 * </span><span style="color: #808080"&gt;@param</span><span style="color: #008000"&gt; dataset 数据
 * </span><span style="color: #808080"&gt;@param</span><span style="color: #008000"&gt; out <a href="https://www.jb51.cc/tag/shuchu/" target="_blank" class="keywords">输出</a>流
 </span><span style="color: #008000"&gt;*/</span>
<span style="color: #0000ff"&gt;public</span> <span style="color: #0000ff"&gt;static</span> <T> <span style="color: #0000ff"&gt;void</span> exportExcel(<span style="color: #0000ff"&gt;int</span> colSplit,<span style="color: #0000ff"&gt;int</span> rowSplit,<span style="color: #0000ff"&gt;int</span> dataBeginIndex,String sheetName,String[] headers,OutputStream out){
    exportExcel(colSplit,rowSplit,dataBeginIndex,sheetName,</span><span style="color: #0000ff"&gt;null</span><span style="color: #000000"&gt;);
}

</span><span style="color: #008000"&gt;/**</span><span style="color: #008000"&gt;
 * 这是一个通用的<a href="https://www.jb51.cc/tag/fangfa/" target="_blank" class="keywords">方法</a>,利用了JAVA的反射机制,可以将放置在JAVA集合中并且符号一定条件的数据以EXCEL 的形式<a href="https://www.jb51.cc/tag/shuchu/" target="_blank" class="keywords">输出</a>到指定IO设备上
 * </span><span style="color: #808080"&gt;@param</span><span style="color: #008000"&gt; <T>
 * 
 * </span><span style="color: #808080"&gt;@param</span><span style="color: #008000"&gt; title
 *            表格<a href="https://www.jb51.cc/tag/biaoti/" target="_blank" class="keywords">标题</a>名
 * </span><span style="color: #808080"&gt;@param</span><span style="color: #008000"&gt; headers
 *            表格<a href="https://www.jb51.cc/tag/shuxing/" target="_blank" class="keywords">属性</a>列名数组
 * </span><span style="color: #808080"&gt;@param</span><span style="color: #008000"&gt; dataset
 *            1.需要<a href="https://www.jb51.cc/tag/xianshi/" target="_blank" class="keywords">显示</a>的数据集合,集合中一定要放置符合javabean风格的类的对象。此<a href="https://www.jb51.cc/tag/fangfa/" target="_blank" class="keywords">方法</a><a href="https://www.jb51.cc/tag/zhichi/" target="_blank" class="keywords">支持</a>的 javabean<a href="https://www.jb51.cc/tag/shuxing/" target="_blank" class="keywords">属性</a>的数据类型有基本数据类型及String,Date,byte[](<a href="https://www.jb51.cc/tag/tupian/" target="_blank" class="keywords">图片</a>数据)
 *            2.或者Map,key是string类型,value<a href="https://www.jb51.cc/tag/shuxing/" target="_blank" class="keywords">属性</a>
 * </span><span style="color: #808080"&gt;@param</span><span style="color: #008000"&gt; out
 *            与<a href="https://www.jb51.cc/tag/shuchu/" target="_blank" class="keywords">输出</a>设备关联的流对象,可以将EXCEL文档导出到本地<a href="https://www.jb51.cc/tag/wenjian/" target="_blank" class="keywords">文件</a>或者网络中
 * </span><span style="color: #808080"&gt;@param</span><span style="color: #008000"&gt; pattern
 *            如果有时间数据,设定<a href="https://www.jb51.cc/tag/shuchu/" target="_blank" class="keywords">输出</a>格式。默认为"yyy-MM-dd",目前不需要
 </span><span style="color: #008000"&gt;*/</span><span style="color: #000000"&gt;
@SuppressWarnings(</span>"unchecked"<span style="color: #000000"&gt;)
</span><span style="color: #0000ff"&gt;public</span> <span style="color: #0000ff"&gt;static</span> <T> <span style="color: #0000ff"&gt;void</span> exportExcel(<span style="color: #0000ff"&gt;int</span> colSplit,String title,String pattern) {
    </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; 声明一个工作薄</span>
    HSSFWorkbook workbook = <span style="color: #0000ff"&gt;new</span><span style="color: #000000"&gt; HSSFWorkbook();
    String sheetName </span>= (title == <span style="color: #0000ff"&gt;null</span> || title.equals("")) ? "sheet1"<span style="color: #000000"&gt; : title;
    </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; <a href="https://www.jb51.cc/tag/shengcheng/" target="_blank" class="keywords">生成</a>一个表格</span>
    HSSFSheet sheet =<span style="color: #000000"&gt; workbook.createSheet(sheetName);
    </span><span style="color: #0000ff"&gt;try</span><span style="color: #000000"&gt;{
        </span><span style="color: #0000ff"&gt;if</span>(colSplit != 0 || rowSplit != 0<span style="color: #000000"&gt;){
            sheet.createFreezePane( colSplit,colSplit,rowSplit );</span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;冻结首行(0,1);2,1</span>

<span style="color: #000000"> }
<span style="color: #008000">//<span style="color: #008000"> 设置表格默认列宽度为15个字节
sheet.setDefaultColumnWidth((<span style="color: #0000ff">short) 15<span style="color: #000000">);
<span style="color: #008000">//<span style="color: #008000"> 生成一个样式
HSSFCellStyle style =<span style="color: #000000"> workbook.createCellStyle();
<span style="color: #008000">//<span style="color: #008000"> 设置这些样式
<span style="color: #000000"> style.setFillForegroundColor(HSSFColor.SKY_BLUE.index);
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
style.setBorderRight(HSSFCellStyle.BORDER_THIN);
style.setBorderTop(HSSFCellStyle.BORDER_THIN);
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
<span style="color: #008000">//<span style="color: #008000"> 生成一个字体
HSSFFont font =<span style="color: #000000"> workbook.createFont();
font.setColor(HSSFColor.VIOLET.index);
font.setFontHeightInPoints((<span style="color: #0000ff">short) 12<span style="color: #000000">);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
<span style="color: #008000">//<span style="color: #008000"> 把字体应用到当前的样式
<span style="color: #000000"> style.setFont(font);
style.setWrapText(<span style="color: #0000ff">true);<span style="color: #008000">//<span style="color: #008000">设置自动换行

        </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; <a href="https://www.jb51.cc/tag/shengcheng/" target="_blank" class="keywords">生成</a>并设置另一个样式</span>
        HSSFCellStyle style2 =<span style="color: #000000"&gt; workbook.createCellStyle();
        style2.setFillForegroundColor(HSSFColor.LIGHT_YELLOW.index);
        style2.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
        style2.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        style2.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        style2.setBorderRight(HSSFCellStyle.BORDER_THIN);
        style2.setBorderTop(HSSFCellStyle.BORDER_THIN);
        style2.setAlignment(HSSFCellStyle.ALIGN_CENTER);
        style2.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; <a href="https://www.jb51.cc/tag/shengcheng/" target="_blank" class="keywords">生成</a>另一个字体</span>
        HSSFFont font2 =<span style="color: #000000"&gt; workbook.createFont();
        font2.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);
        </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; 把字体应用到当前的样式</span>

<span style="color: #000000"> style2.setFont(font2);
style2.setWrapText(<span style="color: #0000ff">true);<span style="color: #008000">//<span style="color: #008000">设置自动换行

        </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; 声明一个画图的顶级管理器</span>
        HSSFPatriarch patriarch =<span style="color: #000000"&gt; sheet.createDrawingPatriarch();
        </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; 定义注释的大小和位置,详见文档  
        </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;HSSFComment comment = patriarch.createComment(new HSSFClientAnchor(0,(short) 4,(short) 6,5));
        </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; 设置注释<a href="https://www.jb51.cc/tag/neirong/" target="_blank" class="keywords">内容</a>  
        </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;comment.setString(new HSSFRichTextString("可以在POI中<a href="https://www.jb51.cc/tag/tianjia/" target="_blank" class="keywords">添加</a>注释!"));
        </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; 设置注释作者,当鼠标移动到单元格上是可以在状态栏中看到该<a href="https://www.jb51.cc/tag/neirong/" target="_blank" class="keywords">内容</a>. 
        </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;comment.setAuthor("leno");

        </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; 产生表格<a href="https://www.jb51.cc/tag/biaoti/" target="_blank" class="keywords">标题</a>行</span>
        HSSFRow row = sheet.createRow(0<span style="color: #000000"&gt;);
        </span><span style="color: #0000ff"&gt;for</span> (<span style="color: #0000ff"&gt;short</span> i = 0; i < headers.length; i++<span style="color: #000000"&gt;) {
            HSSFCell cell </span>=<span style="color: #000000"&gt; row.createCell(i);
            cell.setCellStyle(style);
            HSSFRichTextString text </span>= <span style="color: #0000ff"&gt;new</span><span style="color: #000000"&gt; HSSFRichTextString(headers[i]);
            cell.setCellValue(text);
        }

        </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; 遍历集合数据,产生数据行</span>
        Iterator<T> it =<span style="color: #000000"&gt; dataset.iterator();
        </span><span style="color: #0000ff"&gt;int</span> index = 0<span style="color: #000000"&gt;;
        </span><span style="color: #0000ff"&gt;while</span><span style="color: #000000"&gt; (it.hasNext()) {
            index</span>++<span style="color: #000000"&gt;;
            row </span>=<span style="color: #000000"&gt; sheet.createRow(index);
            T t </span>=<span style="color: #000000"&gt; (T) it.next();
            </span><span style="color: #0000ff"&gt;if</span>(t <span style="color: #0000ff"&gt;instanceof</span><span style="color: #000000"&gt; Class){
                </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; 利用反射,根据javabean<a href="https://www.jb51.cc/tag/shuxing/" target="_blank" class="keywords">属性</a>的先后顺序,动态<a href="https://www.jb51.cc/tag/diaoyong/" target="_blank" class="keywords">调用</a>getXxx()<a href="https://www.jb51.cc/tag/fangfa/" target="_blank" class="keywords">方法</a>得到<a href="https://www.jb51.cc/tag/shuxing/" target="_blank" class="keywords">属性</a>值</span>
                Field[] fields =<span style="color: #000000"&gt; t.getClass().getDeclaredFields();
                </span><span style="color: #0000ff"&gt;for</span> (<span style="color: #0000ff"&gt;short</span> i = 0; i < fields.length; i++<span style="color: #000000"&gt;) {
                    HSSFCell cell </span>=<span style="color: #000000"&gt; row.createCell(i);
                    cell.setCellStyle(style2);
                    Field field </span>=<span style="color: #000000"&gt; fields[i];
                    String fieldName </span>=<span style="color: #000000"&gt; field.getName();
                    String getMethodName </span>= "get" + fieldName.substring(0,1).toUpperCase() + fieldName.substring(1<span style="color: #000000"&gt;);
                    Class tCls </span>=<span style="color: #000000"&gt; t.getClass();
                    Method getMethod </span>= tCls.getMethod(getMethodName,<span style="color: #0000ff"&gt;new</span><span style="color: #000000"&gt; Class[] {});
                    Object value </span>= getMethod.invoke(t,<span style="color: #0000ff"&gt;new</span><span style="color: #000000"&gt; Object[] {});
                    </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; 判断值的类型后进行强制类型转换</span>
                    String textValue = <span style="color: #0000ff"&gt;null</span><span style="color: #000000"&gt;;
                    </span><span style="color: #0000ff"&gt;if</span> (value <span style="color: #0000ff"&gt;instanceof</span> <span style="color: #0000ff"&gt;byte</span><span style="color: #000000"&gt;[]) {
                        </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; 有<a href="https://www.jb51.cc/tag/tupian/" target="_blank" class="keywords">图片</a>时,设置行高为60px;</span>
                        row.setHeightInPoints(600<span style="color: #000000"&gt;);
                        </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; 设置<a href="https://www.jb51.cc/tag/tupian/" target="_blank" class="keywords">图片</a>所在列宽度为80px,注意这里单位的一个换算</span>
                        sheet.setColumnWidth(i,(<span style="color: #0000ff"&gt;short</span>) (35.7 * 400<span style="color: #000000"&gt;));
                        </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; sheet.autoSizeColumn(i);</span>
                        <span style="color: #0000ff"&gt;byte</span>[] bsValue = (<span style="color: #0000ff"&gt;byte</span><span style="color: #000000"&gt;[]) value;
                        HSSFClientAnchor anchor </span>= <span style="color: #0000ff"&gt;new</span> HSSFClientAnchor(0,1023,600,i,index,(<span style="color: #0000ff"&gt;short</span>) (i+1),index+1<span style="color: #000000"&gt;);
                        anchor.setAnchorType(</span>2<span style="color: #000000"&gt;);
                        HSSFPicture pic </span>=<span style="color: #000000"&gt; patriarch.createPicture(anchor,workbook.addPicture(bsValue,HSSFWorkbook.PICTURE_TYPE_JPEG));
                        pic.resize();</span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;这句话一定不要,这是用<a href="https://www.jb51.cc/tag/tupian/" target="_blank" class="keywords">图片</a>原始大小来<a href="https://www.jb51.cc/tag/xianshi/" target="_blank" class="keywords">显示</a></span>
                    } <span style="color: #0000ff"&gt;else</span><span style="color: #000000"&gt; {
                        </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; 其它数据类型都当作字符串简单处理</span>
                        textValue =<span style="color: #000000"&gt; value.toString();
                    }

                    </span><span style="color: #0000ff"&gt;if</span> (textValue != <span style="color: #0000ff"&gt;null</span><span style="color: #000000"&gt;){
                        HSSFRichTextString richString </span>= <span style="color: #0000ff"&gt;new</span><span style="color: #000000"&gt; HSSFRichTextString(textValue);
                         HSSFFont font3 </span>=<span style="color: #000000"&gt; workbook.createFont();
                         font3.setColor(HSSFColor.BLUE.index);
                         richString.applyFont(font3);
                         cell.setCellValue(richString);
                    }
                }
            }</span><span style="color: #0000ff"&gt;else</span> <span style="color: #0000ff"&gt;if</span>(t <span style="color: #0000ff"&gt;instanceof</span> ListOrderedMap || t <span style="color: #0000ff"&gt;instanceof</span><span style="color: #000000"&gt; HashMap){
                </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;HashMap<String,String> map = null;</span>
                ListOrderedMap map =<span style="color: #000000"&gt; (ListOrderedMap) t;
                Iterator</span><String> keys =<span style="color: #000000"&gt; map.keySet().iterator();
                </span><span style="color: #0000ff"&gt;short</span> i = 0<span style="color: #000000"&gt;;
                </span><span style="color: #0000ff"&gt;while</span><span style="color: #000000"&gt;(keys.hasNext()){
                    HSSFCell cell </span>=<span style="color: #000000"&gt; row.createCell(i);
                    cell.setCellStyle(style2);
                    String keyname </span>=<span style="color: #000000"&gt; keys.next();
                    </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;此处根据keyname<a href="https://www.jb51.cc/tag/shengcheng/" target="_blank" class="keywords">生成</a><a href="https://www.jb51.cc/tag/biaoti/" target="_blank" class="keywords">标题</a></span>
                    Object keyValue =<span style="color: #000000"&gt; map.get(keyname);
                    String textValue </span>= <span style="color: #0000ff"&gt;null</span><span style="color: #000000"&gt;;
                    </span><span style="color: #0000ff"&gt;if</span>(keyValue <span style="color: #0000ff"&gt;instanceof</span> <span style="color: #0000ff"&gt;byte</span><span style="color: #000000"&gt;[]){
                        </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; 有<a href="https://www.jb51.cc/tag/tupian/" target="_blank" class="keywords">图片</a>时,设置行高为60px;</span>
                        row.setHeightInPoints(300<span style="color: #000000"&gt;);
                        </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; 设置<a href="https://www.jb51.cc/tag/tupian/" target="_blank" class="keywords">图片</a>所在列宽度为80px,(<span style="color: #0000ff"&gt;short</span>) (35.7 * 200<span style="color: #000000"&gt;));
                        </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; sheet.autoSizeColumn(i);</span>
                        <span style="color: #0000ff"&gt;byte</span>[] bsValue = (<span style="color: #0000ff"&gt;byte</span><span style="color: #000000"&gt;[]) keyValue;
                        HSSFClientAnchor anchor </span>= <span style="color: #0000ff"&gt;new</span> HSSFClientAnchor(0,255,HSSFWorkbook.PICTURE_TYPE_JPEG));
                        </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;pic.resize();</span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;这句话一定不要,这是用<a href="https://www.jb51.cc/tag/tupian/" target="_blank" class="keywords">图片</a>原始大小来<a href="https://www.jb51.cc/tag/xianshi/" target="_blank" class="keywords">显示</a></span>
                    }<span style="color: #0000ff"&gt;else</span><span style="color: #000000"&gt;{
                        textValue </span>=<span style="color: #000000"&gt; keyValue.toString();
                    }
                    </span><span style="color: #0000ff"&gt;if</span> (textValue != <span style="color: #0000ff"&gt;null</span><span style="color: #000000"&gt;){
                            HSSFRichTextString richString </span>= <span style="color: #0000ff"&gt;new</span><span style="color: #000000"&gt; HSSFRichTextString(textValue);
                        HSSFFont font3 </span>=<span style="color: #000000"&gt; workbook.createFont();
                        font3.setColor(HSSFColor.BLUE.index);
                        richString.applyFont(font3);
                        cell.setCellValue(richString);
                        }
                    i</span>++<span style="color: #000000"&gt;;
                }</span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;end while(keys.hasNext())</span>
            }<span style="color: #0000ff"&gt;else</span> <span style="color: #0000ff"&gt;if</span>(t <span style="color: #0000ff"&gt;instanceof</span><span style="color: #000000"&gt; Object[]){
                Object[] object </span>=<span style="color: #000000"&gt; (Object[])t;
                </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;忽略前两个id字段,之后可以作为参数传入</span>
                <span style="color: #0000ff"&gt;for</span>(<span style="color: #0000ff"&gt;int</span> len = dataBeginIndex;len<object.length;len++<span style="color: #000000"&gt;){                        
                    String textValue </span>= ""<span style="color: #000000"&gt;;
                    </span><span style="color: #0000ff"&gt;if</span>(object[len] != <span style="color: #0000ff"&gt;null</span><span style="color: #000000"&gt;){
                        textValue </span>=<span style="color: #000000"&gt; object[len].toString();
                    }
                    HSSFCell cell </span>= row.createCell(len-<span style="color: #000000"&gt;dataBeginIndex);
                    cell.setCellStyle(style2);
                    HSSFRichTextString richString </span>= <span style="color: #0000ff"&gt;new</span><span style="color: #000000"&gt; HSSFRichTextString(textValue);
                    HSSFFont font3 </span>=<span style="color: #000000"&gt; workbook.createFont();
                    font3.setColor(HSSFColor.BLUE.index);
                    richString.applyFont(font3);
                    cell.setCellValue(richString);
                }
            }

        }
        workbook.write(out);
        out.flush();
        out.close();
    }</span><span style="color: #0000ff"&gt;catch</span><span style="color: #000000"&gt; (SecurityException e) {
        </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; TODO Auto-generated catch block</span>

<span style="color: #000000"> e.printStackTrace();
} <span style="color: #0000ff">catch<span style="color: #000000"> (NoSuchMethodException e) {
<span style="color: #008000">//<span style="color: #008000"> TODO Auto-generated catch block
<span style="color: #000000"> e.printStackTrace();
} <span style="color: #0000ff">catch<span style="color: #000000"> (IllegalArgumentException e) {
<span style="color: #008000">//<span style="color: #008000"> TODO Auto-generated catch block
<span style="color: #000000"> e.printStackTrace();
} <span style="color: #0000ff">catch<span style="color: #000000"> (IllegalAccessException e) {
<span style="color: #008000">//<span style="color: #008000"> TODO Auto-generated catch block
<span style="color: #000000"> e.printStackTrace();
} <span style="color: #0000ff">catch<span style="color: #000000"> (InvocationTargetException e) {
<span style="color: #008000">//<span style="color: #008000"> TODO Auto-generated catch block
<span style="color: #000000"> e.printStackTrace();
} <span style="color: #0000ff">catch<span style="color: #000000"> (IOException e) {
<span style="color: #008000">//<span style="color: #008000"> TODO Auto-generated catch block
<span style="color: #000000"> e.printStackTrace();
} <span style="color: #0000ff">finally<span style="color: #000000"> {
<span style="color: #008000">//<span style="color: #008000"> 清理资源
<span style="color: #000000">
}

}

}

 

原文链接:https://www.f2er.com/java/238770.html

猜你在找的Java相关文章