导出列表, 表头及主体内容. 可以对某列进行二次处理
public void exportExcelA(RoomModel rrm, HttpServletRequest request, HttpServletResponse response) throws Exception { List<RoomModel> resultListA = if (resultListA != null && !resultListA.isEmpty()) { String fileName = String.format("%#X.excel", System.currentTimeMillis()); int[] widths = { 15, 30, 20, 20, 40, 10, 15 }; String[] titles = { "预约人", "预约单位", "预约日期", "审核结果", "活动内容", "参与人数", "批准人" }; String[] columns = { "name", "dept", "date", "result", "content", "sum", "personName" }; String[] special = { "result" }; final String[] status_approved = { "待审核", "审核通过", "未通过", "待取消", "已取消" }; IStatusValue[] vs = { new IStatusValue() { public Object get(Object obj) { if (obj != null && Pattern.matches("\\d+", obj.toString())) { return status_approved[Integer.parseInt(obj.toString()) % status_approved.length]; } return ""; } } }; this.export2excel(response, widths, titles, columns, resultListA, request.getCharacterEncoding(), fileName, special, vs); } } interface IStatusValue { Object get(Object obj); } private void export2excel(HttpServletResponse response, int[] widths, String[] titles, String[] columns, List<?> list, String encode, String fn) throws Exception { this.export2excel(response, widths, titles, columns, resultListA, request.getCharacterEncoding(), fileName, null, null); } private void export2excel(HttpServletResponse response, int[] widths, String[] titles, String[] columns, List<?> list, String encode, String fn, String[] special, IStatusValue[] vs) throws Exception { OutputStream os = response.getOutputStream(); response.reset(); response.setCharacterEncoding(encode); response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fn + ".xls", "UTF-8")); response.setContentType("application/msexcel"); WritableWorkbook workbook = Workbook.createWorkbook(os); WritableSheet sheet = workbook.createSheet(fn, 0); WritableFont font = new WritableFont(WritableFont.ARIAL, 10, WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE, Colour.BLACK); WritableCellFormat ffmt = new WritableCellFormat(font); ffmt.setAlignment(Alignment.CENTRE); ffmt.setVerticalAlignment(VerticalAlignment.CENTRE); ffmt.setWrap(false); int line = 0; { for (int i = 0, l = titles.length; l > i; ++i) { Label lbl = new Label(i, line, titles[i], ffmt); sheet.addCell(lbl); sheet.setColumnView(i, widths[i]); } } { for (Object itm : list) { line++; for (int i = 0, l = columns.length; l > i; ++i) { String col = columns[i]; Field field = itm.getClass().getDeclaredField(col); field.setAccessible(true); { Object obj = field.get(itm); if (obj == null) { obj = new String(""); } else { int idx = 0; boolean exists = false; for (String c : special) { if (c.equals(col)) { exists = true; break; } idx++; } if (exists) obj = vs[idx].get(obj); } Label lbl = new Label(i, line, obj.toString(), ffmt); sheet.addCell(lbl); } field.setAccessible(false); } } } workbook.write(); workbook.close(); os.close(); }
相关推荐
java导出封装成工具类
* 导出excel(利用反射机制) * String[] title = {"订单号","商品名称","商品价格","创建时间"}; * String[] field = {"orderNum","productName","productPrice","createTime"}; * ExportTools.export("sellJoin...
通过条件查询数据库list,根据list去导出多列的excel表格,亲测有效工具类和代码js controller都放在一起
本文将详细讲解如何实现一个自定义的动态导出Excel封装类,以满足各种不同的需求。 首先,我们要理解为什么要自定义封装Excel导出。通常,Java开发中可以使用Apache POI库或JExcelAPI等第三方库来操作Excel。这些库...
本示例涉及的主题是“java导出excel复杂表头”,这意味着我们要处理的不是简单的单级表头,而是包含多级或者多层次结构的表头。在描述中提到这是一个可以直接运行的Java工程,但需要进一步改造为Web下载服务。 首先...
在Java编程中,生成Excel文件是一项常见的任务,特别是在数据导出、报表生成或者数据分析等领域。Apache POI是一个流行的开源库,专门用于读写Microsoft Office格式的文件,包括Excel(.xlsx 和 .xls)。本篇文章将...
Java导出Excel封装工具类&支撑jar包。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。...
Java导出Excel在Web项目中的应用是一个常见的需求,特别是在企业级开发中,为了方便数据的存储、分析和传输,往往需要将数据库中的数据导出为Excel格式。下面将详细介绍这个主题,包括相关技术和实现步骤。 1. **...
在Java编程中,导出Excel、Word和PDF是常见的数据呈现和报告生成需求。这些文件格式广泛用于数据存储、报表生成、文档分享等场景。以下将详细介绍如何使用Java实现这三种文件类型的导出。 首先,让我们关注Excel的...
在Java编程环境中,导出Excel是一项常见的任务,特别是在数据处理和报表生成的场景下。这里我们将深入探讨如何使用Java来实现Excel的导出功能。 首先,我们需要了解Java中用于处理Excel的主要库,Apache POI是一个...
要实现自定义Excel模板导出,我们首先需要创建Excel模板。模板通常包含预设的样式、格式和数据占位符。这可以通过设置单元格的样式(如字体、颜色、边框等)、合并单元格、插入公式以及添加图片等方式来完成。在jxl...
java使用POI导出 Excel+图片工具类 ,里面含有poi jar包,只调用接口即可直接保存Excel。使用的时候需先把数据封装,具体包装需根据实际导出数据进行处理。文件demo中只提供包装格式。
文档标题为“java导出Excel文件.pdf”,描述了从导入依赖、配置文件、前端实现到后端处理的完整流程。涉及到的技术标签包括POI、Vue、Spring Boot以及jqGrid。我们接下来将按照标题和描述的要求,详细解读各个部分的...
在EasyUIPoI中,导出Excel的过程被封装成了一套简单的API。首先,你需要创建一个模板文件,定义好Excel的结构和样式,例如单元格的合并、字体、颜色等。模板文件可以使用Microsoft Excel来创建,保存为`.xlsx`格式,...
总之,"java导出excel文档通用工具类"是Java开发中的一个实用组件,它封装了Excel文件生成的复杂性,使得开发者可以专注于数据处理和业务逻辑,而不是底层的文件操作。通过学习和理解这个工具类的工作原理,我们可以...
5. **在Java Web环境中的应用**:在Web环境中,用户可能通过点击按钮触发导出操作,这需要将上述步骤封装到一个服务方法中,然后在前端响应用户请求,生成下载链接或直接触发浏览器下载。 6. **性能优化**:对于大...
在Java编程中,导入和导出Excel文件是一项常见的任务,特别是在数据处理、报表生成和数据分析等领域。本知识点将深入探讨如何使用Java实现这一功能,并提供一个集成工具类的示例。 首先,Java中处理Excel文件通常...
在Web应用中导出Excel报表,通常需要将上述过程封装到一个服务方法中,然后在控制器层调用该方法,并返回一个HTTP响应,设置适当的Content-Type(如"application/vnd.openxmlformats-officedocument.spreadsheetml....
在Java编程中,导出Excel文件是常见的数据处理任务,特别是在数据分析、报表生成或数据交换等场景。这里我们将深入探讨如何使用Java实现XML到Excel的转换以及如何创建一个通用的Excel导出工具类。首先,我们需要理解...
Java导出Excel数据是开发中常见的需求,尤其是在大数据处理、报表生成或数据分析场景下。Apache POI 是一个流行的开源库,专门用于读取和写入Microsoft Office格式的文件,包括Excel(.xls 和 .xlsx)。在Java中使用...