1.导出excel方法调用:
import org.apache.poi.hssf.usermodel.HSSFWorkbook; import java.io.OutputStream; @Controller @RequestMapping(value = "/collection") public class CollectionAction { @RequestMapping("/exportExcel4ServiceFee") public void exportExcel4ServiceFee(LoanSplitModel loanSplitModel,HttpServletRequest request, HttpServletResponse response) { PageView<LoanSplitModel> pageView = collectionService.downPageView4RemindersServiceFee(loanSplitModel); int count = 1; List<String[]> list = new ArrayList<String[]>(); list.add(new String[]{"序号","合同编号","客户姓名","合同金额"}); for (LoanSplitModel item : pageView.getRecords()) { StringBuffer sb = new StringBuffer(); sb = sb.append(count++).append(",")//序号 .append(item.getContractCode() != null ? item.getContractCode() : "").append(",")//合同编号 .append(item.getCustomerName() != null ? item.getCustomerName() : "").append(",")//客户姓名 .append(item.getContractMoney() != null ? df.format(item.getContractMoney()) : "").append(",");//合同金额 list.add(sb.toString().split(",")); } HSSFWorkbook workbook = ExcelUtil.addHSSFSheet(list); try { OutputStream os = ExcelUtil.getRespone("服务费统计表.xls", response); workbook.write(os); os.flush(); os.close(); } catch (IOException e) { e.printStackTrace(); logger.error("-----------服务费统计列表导出excel异常", e); } }
调用的ExcelUtil类如下:
import java.io.IOException; import java.io.OutputStream; import java.io.UnsupportedEncodingException; import java.util.List; import java.util.regex.Pattern; import javax.servlet.http.HttpServletResponse; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFDataFormat; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class ExcelUtil { public static HSSFWorkbook addHSSFSheet(List<String[]> list) { HSSFWorkbook workbook = new HSSFWorkbook(); // 产生工作表对象 HSSFSheet sheet = workbook.createSheet(); HSSFCellStyle cellStyle = workbook.createCellStyle(); cellStyle.setAlignment(HSSFCellStyle.ALIGN_RIGHT); HSSFCellStyle numCellStyle = workbook.createCellStyle(); numCellStyle.setAlignment(HSSFCellStyle.ALIGN_RIGHT); numCellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("0.00")); HSSFRow row = sheet.createRow((int) 0);// 创建一行 HSSFCell cell = row.createCell((int) 0);// 创建一列 for (int i = 0; i < list.size(); i++) { row = sheet.createRow((int) (i));// 创建一行 String[] files = list.get(i); for (int k = 0; k < files.length; k++) { sheet.setColumnWidth( k, 5900);// 设置列宽 cell = row.createCell((int) k);// 创建一列 cell.setCellStyle(cellStyle); Pattern pNum=Pattern.compile("^(([1-9]\\d{0,9})|0)(\\.\\d{2})+$"); if(files[k] == null || !pNum.matcher(files[k]).matches()){ cell.setCellType(HSSFCell.CELL_TYPE_STRING); cell.setCellValue(files[k]!=null?files[k]:""); }else{ cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC); cell.setCellStyle(numCellStyle); cell.setCellValue(Double.parseDouble(files[k])); } } } return workbook; } public static OutputStream getRespone(String filename, HttpServletResponse response) { OutputStream os = null; try { filename = new String(filename.getBytes("GBK"), "ISO8859-1"); } catch (UnsupportedEncodingException e) { } response.setCharacterEncoding("utf-8"); response.setContentType("multipart/form-data"); response.setHeader("Content-Disposition", "attachment;fileName=" + filename); try { os = response.getOutputStream(); } catch (IOException e) { } return os; } }
相关推荐
通过javabean 和Map 两种方式导出Excel表格,包括可以到图片
需要控件两个 fastreport 6版本 NATIVEEXCEL 控件一个 fastreport导出PDF fastreport导出Excel
可以运行的POI导出Excel文件实例,里面有两种方法,一个是Servlet,一个是main
花了半天时间网上整理出来的两种从Access 导出数据到Excel的方法。一种是在服务器端,一种是客户端。挺好用的 !
该代码详细介绍了POI和JXL两种方式导出EXCEL文件,与大家一起分享
但是这两种导出方法难以保持表头等单元格合并,表格颜色,表格字体等样式. 利用将网页导出到excel中的方式,可以解决以上问题. <br>/// <summary><br> /// 导出excel /// </summary><br> /// ...
使用C#实现了excel表格的导出功能,包含xls和xlsx两种格式。 程序有添加关于NOPI的引用,有疑问可以参考我的csdn博客http://blog.csdn.net/my_clear_mind
Excel生成导出JXL和POI两种方式小demo
java导出数据到excel中的相关jar包。导出Excel的技术有两种Jakarta POI和Java Excel。
用poi根据模板导出excel的帮助类,支持xls和xlsx两种格式,支持上万数据导出不会内存移除,代码有注释。
easyui datagrid 带分页的所有数据导出Excel。两种方法将easyui datagrid 中的数据导出到Excel中。
两种方法将easyui datagrid 中的数据导出到Excel中,均以验证可以正常使用
table在客户端导出excel的两种格式.zip
导出Excel执行 Render() 的过程中调用 RegisterForEventValidation 当用GridView导出Execl的时候,会发生只能在执行 Render() 的过程中调用 RegisterForEventValidation的错误提示。 有两种方法可以解决以上问题: 1...
SheetJS免费版的不支持格式,比如居中、自动换行都不行。xlsx-style是SheetJS的一个分支,且支持各种格式,可以做到文字居中,自动换行,列宽设置,单元格合并,冻结表头等。
在网上找了好多代码,要么就是不能指定位置,要么就是不能控制大小,现在我结合别人的方法修改了下,试用成功,可以在指定单元格导出指定大小的图片,也可以在中间显示原图,或者两种一起显示。
pb数据窗口原样导出为excel,支持导出2003,2007两种格式,使用dll导出(非ole方式),无需安装excel, 速度极快,20万条数据只需要130秒。
大名鼎鼎的NPOL导出控件,支持两种Excel格式带公用类,
C#Winform将DataGridView数据导出到Excel的两种方法,亲测可用
poi操作Excel 包含HSSF,XSSF两种方式的导入导出 支持97-2003版本的Excel与2007等高版本的Excel 下载之后eclipse导入替换jdk直接运行即可