`

j2ee 导出excel ,poi + jxl

阅读更多

1、POI 导出 Excel

public static void exportUserExcel(String[] headers, List<Muser> userList, OutputStream out) {
		HSSFWorkbook wb = new HSSFWorkbook();
		HSSFSheet sheet = wb.createSheet("会员表");
		HSSFRow row = sheet.createRow(0);
		HSSFCellStyle style = wb.createCellStyle();
		style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
		for (int i = 0; i < headers.length; i++) {
			HSSFCell cell = row.createCell(i);
			cell.setCellStyle(style);
			HSSFRichTextString text = new HSSFRichTextString(headers[i]);
			cell.setCellValue(text);
		}
		for (int i = 0; i < userList.size(); i++) {
			Muser user = userList.get(i);
			row = sheet.createRow(i + 1);
			row.createCell(0).setCellValue(user.getId());
			row.createCell(1).setCellValue(user.getName());
			row.createCell(2).setCellValue(user.getPhone());
			row.createCell(3).setCellValue(user.getIdCard());
			row.createCell(4).setCellValue(user.getAge());
			row.createCell(5).setCellValue(user.getAddress());
			row.createCell(6).setCellValue(user.getBirthplace());
			row.createCell(7).setCellValue(user.getCredits().toString());
			row.createCell(8).setCellValue(user.getCreatedtimeString());
			row.createCell(9).setCellValue(user.getLastlogtimeString());
			row.createCell(10).setCellValue(
					user.getStatus().equals("0") ? "正常" : "黑名单");
		}
		try {
			//FileOutputStream out = new FileOutputStream(path);
			wb.write(out);
			out.close();
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
	}

 

2、JXL导出Excel

public static void expertHotelOrderExcel(List<HotelOrder> hotelOrderList){
		try {
			HttpServletResponse response = ServletActionContext.getResponse();
			response.setContentType("application/octet-stream;charset=UTF-8");
			response.setHeader("Content-Disposition","attachment;filename="+Helper.getDate()+".xls");
			// 注意这里的header参数为Content-Disposition而非第一种中的contentDisposition参数
			// Excel获得文件
			// 打开一个文件的副本,并且指定数据写回到原文件
			WritableWorkbook book = Workbook.createWorkbook(response.getOutputStream());
			// 添加一个工作表
			WritableSheet sheet = book.createSheet("酒店订单表", 0);
			sheet.addCell(new Label(0, 0, "客栈名称"));
			sheet.addCell(new Label(1, 0, "订单编号"));
			sheet.addCell(new Label(2, 0, "会员编号"));
			sheet.addCell(new Label(3, 0, "总金额"));
			sheet.addCell(new Label(4, 0, "实付款"));
			sheet.addCell(new Label(5, 0, "获取积分"));
			sheet.addCell(new Label(6, 0, "使用积分"));
			sheet.addCell(new Label(7, 0, "交易状态"));
			sheet.addCell(new Label(8, 0, "审核状态"));
			sheet.addCell(new Label(9, 0, "成交时间"));
			if (hotelOrderList!= null) {
				IHotelManager hotelManager =SpringContextHolder.getBean("hotelManager",IHotelManager.class);
				for (int i = 0; i < hotelOrderList.size(); i++) {
					HotelOrder hotelOrder = hotelOrderList.get(i);
					
					String status = "";
					if (hotelOrder.getOrderStatus() == 0) {
						status = "未支付";
					} else if (hotelOrder.getOrderStatus() == 1) {
						status = "交易成功";
					} else {
						status = "交易取消";
					}
					String auditStatus = "";
					if (hotelOrder.getAuditStatus().equals("0")) {
						auditStatus = "未审核";
					} else {
						auditStatus = "已审核";
					}
					sheet.addCell(new Label(0, i+1, hotelManager.getById(hotelOrder.getHotelId()).getHotelName()));
					sheet.addCell(new Label(1, i+1, hotelOrder.getId()));
					sheet.addCell(new Label(2, i+1, hotelOrder.getUserId()));
					sheet.addCell(new Label(3, i+1, hotelOrder.getOrderAmount().toString()));
					sheet.addCell(new Label(4, i+1, hotelOrder.getPayAmount().toString()));
					sheet.addCell(new Label(5, i+1, hotelOrder.getGetCredits().toString()));
					sheet.addCell(new Label(6, i+1, hotelOrder.getUsedCredits().toString()));
					sheet.addCell(new Label(7, i+1, status));
					sheet.addCell(new Label(8, i+1, auditStatus));
					if(hotelOrder.getDealTime()==null){
						sheet.addCell(new Label(9, i+1, "暂无时间"));
					}else{
						sheet.addCell(new Label(9, i+1, new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(hotelOrder.getDealTime())));
					}
				}
			book.write();
			book.close();
			// 关闭输出流,同时也关闭response里的OutputStream,所以无需再调用response.getOutputStream().close()了
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

 

0
2
分享到:
评论

相关推荐

    android excel poi+jxl

    在Android平台上,处理Excel文件通常涉及使用第三方库,如Apache POI和JXL。这两个库都是Java编程语言的库,可以用于读写Microsoft Office格式的文件,包括Excel工作簿(.xls和.xlsx)。Apache POI是更为现代和功能...

    java读取excel文件POI+jxl

    在Java中,读取和操作Excel文件是常见的需求,这通常涉及到使用库,如Apache POI和JXL。这两个库都允许开发者在Java中方便地读取、写入和修改Excel文件。 Apache POI是一个强大的库,专门用于处理Microsoft Office...

    struts2+poi+jxl

    Struts2是一个基于MVC(Model-View-...综上所述,结合Struts2、POI和JXL,我们可以构建出强大的数据导入导出功能,以及动态生成和下载Excel报表的Web应用。这对于数据驱动的业务来说,提供了极大的便利性和灵活性。

    jsp+jspsmart上传+poi3.8读取excel2007+jxl读取excel2003

    在给定的标题和描述中,"jsp+jspsmart上传+poi3.8读取excel2007+jxl读取excel2003" 提到了一种结合Java Web技术实现文件上传,并通过不同库解析Excel文件的解决方案。这里我们将详细探讨涉及的各个知识点。 首先,`...

    (简单)JFinal实现Demo - 导出Excel 使用模板导出(POI + JXLS).zip

    本示例"(简单)JFinal实现Demo - 导出Excel 使用模板导出(POI + JXLS)"提供了一种高效的方法来生成复杂的Excel表格,无需通过编程逐个控制单元格样式。以下是对这个Demo的详细解释: 首先,JFinal是一个基于Java...

    POI和JXL两种方式导出EXCEL

    使用JXL导出Excel的步骤大致如下: 1. 引入JXL库。 2. 创建Workbook对象。 3. 创建Sheet对象。 4. 创建Cell对象并填充数据。 5. 保存到文件,调用Workbook的write方法。 `ExportExcelController.java`可能包含控制...

    java导出excel POI jar包

    本篇文章将深入讲解如何使用POI库在Java中实现Excel的导出功能,以及涉及到的相关jar包及其作用。 首先,`poi-ooxml-schemas-3.15-beta1.jar`是POI库中的XML schema定义,用于解析和创建符合Office Open XML标准的...

    SpringBootMybatis+poi+Thymeleaf实现excel文件数据导入到数据库以及从数据库将数据导出成excel.zip

    在本项目中,"SpringBootMybatis+poi+Thymeleaf实现excel文件数据导入到数据库以及从数据库将数据导出成excel.zip",我们主要关注的是如何利用Java技术栈来处理Excel文件,并与数据库进行交互。以下是相关知识点的...

    使用poi+itext将excel转为pdf

    看到现在网上excel转pdf的代码很少,在csdn上找到一个还不能用,只能做简单的转换,只好自己写了一个,代码是一个maven工程,用eclipse创建,支持单元格合并等复杂的excel,同时能同步单元格样式到pdf中。...

    springboot+mybatis+poi 实现excel导入导出

    本篇文章将详细介绍如何利用SpringBoot和MyBatis结合Apache POI实现Excel的导入导出功能。 首先,SpringBoot是一个基于Spring框架的轻量级开发工具,它简化了新Spring应用的初始搭建以及开发过程。SpringBoot通过...

    POI导出Excel文件

    以下是一个简化的示例,演示了如何使用POI导出Excel: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileOutputStream; import java.io....

    java开发Excel所需 poi jxl两种jar包

    本文将深入探讨两种常用的Java库:Apache POI和JXL,它们都提供了处理Excel文件的能力。 Apache POI是Apache软件基金会的一个开源项目,它提供了一个强大的API,允许Java开发者读取、写入和修改Microsoft Office...

    struts2+jxl导出excel

    在"struts2+jxl导出excel"的场景中,我们将讨论如何利用Struts2框架与JXL库配合,实现从web应用中导出数据到Excel的工作。 首先,我们需要理解Struts2的动作(Action)和结果(Result)。动作是处理用户请求的核心...

    POI与JXL的实战性能对比

    ### POI与JXL实战性能对比分析 #### JXL与POI概述 在日常工作中,尤其是在处理Excel文件时,我们通常会面临选择合适的Java库来完成任务的问题。JXL和POI是两个广泛使用的库,它们各有优势和局限性。 **JXL...

    JXL、POI实现Excel导入导出

    以上就是关于使用JXL和Apache POI实现Excel导入导出的基本知识。根据实际需求,你可以结合这两个库的功能,灵活地处理各种Excel文件操作。在实际项目中,通常会根据性能、功能需求以及文件兼容性等因素选择适合的库...

    POI导出 POI导出 POI导出

    POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI...

    基于SpringBoot和POI实现单线程和多线程导出Excel.zip

    基于SpringBoot和POI实现单线程和多线程导出Excel.zip基于SpringBoot和POI实现单线程和多线程导出Excel.zip基于SpringBoot和POI实现单线程和多线程导出Excel.zip基于SpringBoot和POI实现单线程和多线程导出Excel.zip...

    Excel导入导出 jxl及Poi 工具类

    为了更好地理解这两个库的用法,你可以查看提供的"Excel导入导出(jxl及Poi)工具类"压缩包中的示例代码。通过阅读和运行这些代码,你可以更深入地了解如何在实际项目中应用jxl和Apache POI。 总的来说,jxl和Apache ...

    Excel生成导出JXL和POI两种方式小demo

    提供的压缩包文件"excel导出"可能包含了使用JXL和POI生成Excel的示例代码,通过查看这些代码,你可以更好地理解如何在实际项目中应用这两个库。 总结来说,JXL和Apache POI都是Java中用于处理Excel的强大工具,各...

    java将数据导出到Excel表格(java源程序+jxl.jar包)

    Java是一种广泛使用的编程语言,尤其在企业级...不过,需要注意的是,jxl库对较新版本的Excel(如xlsx格式)支持有限,对于新版本的Excel文件操作,推荐使用Apache POI库。但如果你只处理xls格式,jxl库已经足够用了。

Global site tag (gtag.js) - Google Analytics