当服务器使用linux的时候,临时文件目录权限要和启动jboss用户的权限一样,否则数据倒出来不全或者导出来的excel到一半就导不出来了。
public String exportExcel() throws Exception{ ActionContext ctx = ActionContext.getContext(); HttpServletResponse response = (HttpServletResponse) ctx.get(ServletActionContext.HTTP_RESPONSE); OutputStream os = null; String filename = "数据.xls"; //如果乱码需要encode编码 try { response.reset();// 清空输出流 response.setContentType("application/vnd.ms-excel");// 定义输出类型 response.setHeader("Content-Disposition", "filename=" + filename + "");// 设定输出文件头 os = response.getOutputStream();// 获取输出流 long t0 = System.currentTimeMillis(); List<User> list = new ArrayList(); expordUtil(list, os); long t1 = System.currentTimeMillis(); } catch (Exception e) { e.printStackTrace(); } finally { if (os != null) { os.flush(); os.close(); } } return null; } //数据导出工具方法 list为导出的数据 public String expordUtil(List list,OutputStream os) throws Exception { WorkbookSettings wbSetting = new WorkbookSettings(); wbSetting.setUseTemporaryFileDuringWrite(true); //表示允许使用临时文件 wbSetting.setTemporaryFileDuringWriteDirectory(new File("\\excel"));// os.flush(); WritableWorkbook wbook = Workbook.createWorkbook(os);// 建立Excel文件 WritableSheet sheet = wbook.createSheet("学生信息", 0);// 为文件的sheet设置名字 WritableFont wfont; WritableCellFormat wcformat; //格式化输出的excel Label wlabel; // 设置表头 start wfont = new WritableFont(WritableFont.createFont("宋体"), 11, WritableFont.BOLD, false, jxl.format.UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.DARK_GREEN); // 设置表头的格式 //设置 输出的excel格式 wcformat = new jxl.write.WritableCellFormat(wfont); wcformat.setBackground(Colour.AQUA); wcformat.setLocked(true); wcformat.setAlignment(Alignment.CENTRE); wcformat.setBorder(Border.ALL,jxl.format.BorderLineStyle.THIN); //设置输出的第一列title wlabel = new jxl.write.Label(0, 0, "姓名", wcformat); sheet.addCell(wlabel); wlabel = new jxl.write.Label(1, 0, "性别", wcformat); sheet.addCell(wlabel); wlabel = new jxl.write.Label(2, 0, "班级", wcformat); sheet.addCell(wlabel); wlabel = new jxl.write.Label(3, 0, "学号", wcformat); sheet.addCell(wlabel); wlabel = new jxl.write.Label(4, 0, "学校", wcformat); sheet.addCell(wlabel); // 设置表头 end // 输出数据格式的设置 start wfont = new jxl.write.WritableFont(WritableFont.createFont("宋体"), 10, WritableFont.NO_BOLD, false, jxl.format.UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.BLACK); // 设置表头的格式 wcformat = new jxl.write.WritableCellFormat(wfont); wcformat.setBackground(Colour.WHITE); wcformat.setBorder(Border.ALL,jxl.format.BorderLineStyle.THIN); wcformat.setLocked(false); wcformat.setAlignment(Alignment.LEFT); //设置小表头数据格式 wfont = new WritableFont(WritableFont.createFont("宋体"), 11, WritableFont.BOLD, false, jxl.format.UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.DARK_GREEN); // 设置表头的格式 11 为字体大小 WritableCellFormat wcformat1 = new jxl.write.WritableCellFormat(wfont); wcformat1.setBackground(Colour.GRAY_25); wcformat1.setLocked(false); wcformat1.setAlignment(Alignment.CENTRE); wcformat1.setBorder(Border.ALL,jxl.format.BorderLineStyle.THIN); //设置输出第二列数据 wlabel = new jxl.write.Label(0, 1, "王勇", wcformat); sheet.addCell(wlabel); wlabel = new jxl.write.Label(1, 1, "男", wcformat); sheet.addCell(wlabel); wlabel = new jxl.write.Label(2, 1, "一班", wcformat); sheet.addCell(wlabel); wlabel = new jxl.write.Label(3 , 1, "20060512", wcformat); sheet.addCell(wlabel); wlabel = new jxl.write.Label(3 , 1, "绥化学院", wcformat); sheet.addCell(wlabel); //sheet.mergeCells(10, 0, 12, 0); try { //从内存中写入文件中 wbook.write(); //关闭资源,释放内存 wbook.close(); } catch (IOException e) { e.printStackTrace(); } catch (WriteException e) { e.printStackTrace(); } // 输出数据格式的设置 end return "success"; }
相关推荐
java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入
Java Excel导出数据是Java开发中常见的需求,主要用于将程序处理的数据以Excel表格的形式提供给用户下载。在Java中,Apache POI库是处理Microsoft Office文档(包括Excel)的首选工具,因此,"java poi"标签表明我们...
本示例主要关注如何使用Apache POI库来实现JavaExcel导出功能。Apache POI是一个开源项目,它提供了读取和写入Microsoft Office格式文件的能力,包括Excel。 首先,你需要在你的项目中引入Apache POI依赖。如果你...
在Java编程环境中,处理Excel数据并将其导出是一项常见的任务,尤其在数据分析、报表生成或者数据交换等场景中。Excel文件格式(.xlsx或.xls)因其直观易用和广泛支持而受到青睐。在这个主题中,我们将深入探讨如何...
"java excel导出util包"是一个专为解决这个问题而设计的工具集,它简化了从后端生成并导出Excel文件的过程。下面将详细介绍这个util包可能包含的组件、功能及其工作原理。 首先,这个util包很可能提供了方便的API,...
Java Excel导出是一个常见的需求,尤其在数据处理和报表生成的场景中。Apache POI库是Java领域中用于操作Microsoft Office格式文件,尤其是Excel的主要工具。在这个“java excel导出demo”中,我们将会深入探讨如何...
在这个场景中,"java excel导出 支持03 07导出 样式可配置"指的是使用Java来实现Excel文件的导出功能,同时兼容旧版的Excel 2003(.xls)和新版的Excel 2007及以后版本(.xlsx)。这个功能通常涉及到Apache POI库,...
Java Excel导出主要涉及将程序处理的数据写入Excel文件,以便用户可以查看、编辑或进一步分析。Java提供了多种库来实现这一功能,如Apache POI、JExcelAPI和HSSF/SSFX等。Apache POI是最常用的一个,它提供了对...
在Java编程中,导出复杂的Excel模板是一...熟练掌握Apache POI或其他相关库的用法,结合业务需求,能有效提高工作效率并提供高质量的Excel导出功能。在实际开发中,不断优化代码和策略,可以更好地满足性能和功能需求。
本教程将详细介绍如何使用JAVA POI库来创建一个包含图片的完整Excel导出功能。 首先,你需要在项目中引入Apache POI依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.apache....
java导出复杂Excel内容数据动态循环
java导出Excel 时候 相同行合并(可合并多列); 已测试通过;
java实现excel批量导出功能的所有代买实现逻辑,及源码。适合初级、中级、高级程序员,用户一看就明白
Java Excel导出是Java开发中常见的一种需求,用于将数据以Excel格式导出,便于用户进行数据管理和分析。以下是对给定代码的详细解释和相关知识点的介绍: 1. **导出工具类**:`ExcelUtil` 是一个静态工具类,提供了...
用Java实现的Excel的导入导出,简洁明了,高质量代码。
然后,我们需要创建一个工具类,负责处理Excel导出。这个类会扫描实体类上的注解,并根据这些信息创建Excel工作表: ```java public class ExcelExportUtil { public static void exportExcel(List<User> user...
在Java编程中,导出数据到Excel是一种常见的需求,尤其当需要将图片与文本一起展示在电子表格中时。这个任务通常涉及到使用第三方库来处理Excel文件,因为Java标准库并未提供直接支持图像到Excel的功能。以下是一些...
该工具类实现java导出树形结构的方法,并未采用excel分组功能实现,而是根据树节点显示层级设置excel样式。针对easyUi,treeGrid开发的导出excel功能。方法简便实用、性强、通俗易懂。项目中亲测,no problem。
资源描述:一个使用java做的导出数据,并且可以在excel表生成折线图的工具类,使用简单操作方便。
"javaExcel大数据导出"这个话题涉及到的主要知识点包括:Java与Excel的交互、大数据处理策略、性能优化以及内存管理。 1. **Java与Excel的交互**: Java可以通过多种库来实现与Excel的交互,如Apache POI、...