`

JAVA的EXCEL导出

    博客分类:
  • java
阅读更多

 

   当服务器使用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 Excel导出数据是Java开发中常见的需求,主要用于将程序处理的数据以Excel表格的形式提供给用户下载。在Java中,Apache POI库是处理Microsoft Office文档(包括Excel)的首选工具,因此,"java poi"标签表明我们...

    JavaExcel导出示例

    本示例主要关注如何使用Apache POI库来实现JavaExcel导出功能。Apache POI是一个开源项目,它提供了读取和写入Microsoft Office格式文件的能力,包括Excel。 首先,你需要在你的项目中引入Apache POI依赖。如果你...

    java Excel导出 Excel数据处理

    在Java编程环境中,处理Excel数据并将其导出是一项常见的任务,尤其在数据分析、报表生成或者数据交换等场景中。Excel文件格式(.xlsx或.xls)因其直观易用和广泛支持而受到青睐。在这个主题中,我们将深入探讨如何...

    java excel导出util包

    "java excel导出util包"是一个专为解决这个问题而设计的工具集,它简化了从后端生成并导出Excel文件的过程。下面将详细介绍这个util包可能包含的组件、功能及其工作原理。 首先,这个util包很可能提供了方便的API,...

    java excel导出demo

    Java Excel导出是一个常见的需求,尤其在数据处理和报表生成的场景中。Apache POI库是Java领域中用于操作Microsoft Office格式文件,尤其是Excel的主要工具。在这个“java excel导出demo”中,我们将会深入探讨如何...

    java excel导出 支持03 07导出 样式可配置

    在这个场景中,"java excel导出 支持03 07导出 样式可配置"指的是使用Java来实现Excel文件的导出功能,同时兼容旧版的Excel 2003(.xls)和新版的Excel 2007及以后版本(.xlsx)。这个功能通常涉及到Apache POI库,...

    java excel 导出

    Java Excel导出主要涉及将程序处理的数据写入Excel文件,以便用户可以查看、编辑或进一步分析。Java提供了多种库来实现这一功能,如Apache POI、JExcelAPI和HSSF/SSFX等。Apache POI是最常用的一个,它提供了对...

    java复杂模板excel导出例子

    在Java编程中,导出复杂的Excel模板是一...熟练掌握Apache POI或其他相关库的用法,结合业务需求,能有效提高工作效率并提供高质量的Excel导出功能。在实际开发中,不断优化代码和策略,可以更好地满足性能和功能需求。

    JAVA poi 做EXCEL导出(包含图片) 完整版

    本教程将详细介绍如何使用JAVA POI库来创建一个包含图片的完整Excel导出功能。 首先,你需要在项目中引入Apache POI依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;org.apache....

    java导出复杂Excel内容数据动态循环

    java导出复杂Excel内容数据动态循环

    java导出Excel 时候 相同行合并

    java导出Excel 时候 相同行合并(可合并多列); 已测试通过;

    excel批量导出.java

    java实现excel批量导出功能的所有代买实现逻辑,及源码。适合初级、中级、高级程序员,用户一看就明白

    JAVA EXCEL导出

    Java Excel导出是Java开发中常见的一种需求,用于将数据以Excel格式导出,便于用户进行数据管理和分析。以下是对给定代码的详细解释和相关知识点的介绍: 1. **导出工具类**:`ExcelUtil` 是一个静态工具类,提供了...

    最新java实现Excel导入导出

    用Java实现的Excel的导入导出,简洁明了,高质量代码。

    导出excel注解方式

    然后,我们需要创建一个工具类,负责处理Excel导出。这个类会扫描实体类上的注解,并根据这些信息创建Excel工作表: ```java public class ExcelExportUtil { public static void exportExcel(List&lt;User&gt; user...

    java导出图片到excel

    在Java编程中,导出数据到Excel是一种常见的需求,尤其当需要将图片与文本一起展示在电子表格中时。这个任务通常涉及到使用第三方库来处理Excel文件,因为Java标准库并未提供直接支持图像到Excel的功能。以下是一些...

    java导出excel树结构工具类

    该工具类实现java导出树形结构的方法,并未采用excel分组功能实现,而是根据树节点显示层级设置excel样式。针对easyUi,treeGrid开发的导出excel功能。方法简便实用、性强、通俗易懂。项目中亲测,no problem。

    java导出excel并生成折线图.java

    资源描述:一个使用java做的导出数据,并且可以在excel表生成折线图的工具类,使用简单操作方便。

    javaExcel大数据导出

    "javaExcel大数据导出"这个话题涉及到的主要知识点包括:Java与Excel的交互、大数据处理策略、性能优化以及内存管理。 1. **Java与Excel的交互**: Java可以通过多种库来实现与Excel的交互,如Apache POI、...

Global site tag (gtag.js) - Google Analytics