`
流浪鱼
  • 浏览: 1682086 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用poi导出excel

    博客分类:
  • poi
 
阅读更多

使用poi导出excel,其中涉及到居中、字体加粗、合并单元格

@Namespace("/org/examinee")
@Results( {
	@Result(name = "export", type = "stream", params = {
			"contentType", "application/xls ", "contentDisposition",
			"attachment;filename=\"${downloadFileName}\"", "inputName",
			"inputStream", "bufferSize", "4096" })
})
public class OrgexamineeExportAction extends NationOrgexamineeBaseAction {

	private static final long serialVersionUID = 1L;

	@Resource
	private NationOrgexamineeManager nationOrgexamineeManager;

	/**
	 * 保存excel名称
	 */
	private String excelName ;

	
	/**
	 * 唯一计划标识
	 */
	private String planUuid;

	/**
	 * 显示列表
	 */
	public String execute() throws Exception {
		return SUCCESS;
	}

	/**
	    * 导出excel
	    * @return
	    * @throws Exception
	    */
	   public String export() throws Exception{
		   HSSFRow rownull = null ;
			HSSFCell cell0 = null ;//第一列
		   NationOrginfo org = (NationOrginfo)Struts2Utils.getSession().getAttribute("org");
			String ttcode = org.getCode() ;
			List<Map<String,String>> list  = nationOrgexamineeManager.getOrgexamineeExport(planUuid, ttcode);
			String[] names = { "姓名", "身份号码",  "职业名称", "职业等级"};
			HSSFWorkbook workBook = new HSSFWorkbook();
			HSSFSheet sheet = workBook.createSheet("Sheet1");
			//学校名称
			HSSFCellStyle cellStyle = workBook.createCellStyle(); //字体样式
			cellStyle.setAlignment(CellStyle.ALIGN_CENTER);//水平居中  
			HSSFFont font = workBook.createFont();
			font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//加粗
			font.setFontHeightInPoints((short)15); //字体大小
			cellStyle.setFont(font);
			//标题
			HSSFCellStyle cellStyle1 = workBook.createCellStyle(); //字体样式
			cellStyle1.setAlignment(CellStyle.ALIGN_CENTER);//水平居中  
			HSSFFont font1 = workBook.createFont();
			font1.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//加粗
			font1.setFontHeightInPoints((short)12); //字体大小
			cellStyle1.setFont(font1);
			sheet.addMergedRegion(new CellRangeAddress(0,0,0,3));
			HSSFRow row = sheet.createRow(0);
			HSSFCell cell = row.createCell(0);
			cell.setCellStyle(cellStyle);
			cell.setCellValue(org.getSchoolName());//设置第一行的标题名
			HSSFRow row1 = sheet.createRow(1);
			for(int j=0 ; j<names.length;j++){
					cell0 = row1.createCell(j);
					cell0.setCellValue(names[j]);
					cell0.setCellStyle(cellStyle1);
					sheet.setColumnWidth(j, 20 * 256);
			}
			Map<String, String> map  = null ;
			for(int i = 0 ;i<list.size();i++){
				map = list.get(i);
				rownull = sheet.createRow(i+2);
				for(int j=0 ; j<names.length;j++){
					if(i==0){//插入名称
						cell0 = row1.createCell(j);
						cell0.setCellValue(names[j]);
						cell0.setCellStyle(cellStyle);
						sheet.setColumnWidth(j, 20 * 256);
					}else{
						sheet.setColumnWidth(j, 20 * 256);
						if(j==0){
							cell0 = rownull.createCell(j);
							cell0.setCellValue(map.get("name"));
						}else if(j==1){
							cell0 = rownull.createCell(j);
							cell0.setCellValue(map.get("cardNumber"));
						}else if(j==2){
							cell0 = rownull.createCell(j);
							cell0.setCellValue(map.get("workName"));
						}else if(j==3){
							cell0 = rownull.createCell(j);
							cell0.setCellValue(map.get("levelName"));
						}
					}
				}
			}
			try {
				String basePath="uploadtemp"+File.separator;
				String rootPath=Struts2Utils.getRequest().getSession().getServletContext().getRealPath("/");
				File dic=new File(rootPath+basePath);
	   		    if (!dic.exists()) {
	   			dic.mkdirs();
	   		    }
	   		 excelName = rootPath+basePath+"export"+".xls";
				workBook.write(new FileOutputStream(excelName));
			} catch (FileNotFoundException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}
			return "export";
	   }
	
	   
	   /**
	    * 下载用的Action应该返回一个InputStream实例
	    * 
	    */
	    public InputStream getInputStream() throws Exception {
	    	        InputStream fis = null ;
						try {
							fis = new FileInputStream(excelName);
							//fis.close(); 仍在使用,不能关闭
						} catch (Exception e1) {
							e1.printStackTrace();
						}
			return fis;
		}
	    
	    // 处理下载文件的名字
		public String getDownloadFileName() {
			String downloadFileName = null;
			downloadFileName =  "export.xls";
			return downloadFileName;
		}   
	   
	public String getPlanUuid() {
		return planUuid;
	}

	public void setPlanUuid(String planUuid) {
		this.planUuid = planUuid;
	}
	
	
}

 

分享到:
评论

相关推荐

    java使用POI导出 Excel工具类

    java使用POI导出 Excel+图片工具类 ,里面含有poi jar包,只调用接口即可直接保存Excel。使用的时候需先把数据封装,具体包装需根据实际导出数据进行处理。文件demo中只提供包装格式。

    java 使用poi导出excel工具类

    java的poi的导入工具类,只需要传入两个arrayList,一个是execl的标题,一个是ececl的数据,就可以直接导出到execl里面,支持最新的execl,全新封装的,让每一个人都会使用poi导出execl!

    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中使用poi导出Excel大批量数据到客户端

    在java web系统应用中我们经常会用到大批量数据的导出,动辄就上几十万几百万的数据让我们的程序感觉...java中使用poi导出Excel大批量数据到客户端 存在两个导出方法:存在一个分批量导出ZIP文件,一个导出exel文件

    poi导出excel参考方法

    在上面的代码中,我们可以看到使用POI导出Excel文档的方法。首先,我们需要创建一个Workbook对象,然后使用Workbook对象创建一个Sheet对象。接着,我们可以使用Sheet对象将数据写入Excel文档中。最后,我们可以使用...

    使用POI,实现excel文件导出,图片url导出文件,图片和excel文件导出压缩包

    使用POI导出Excel文件** 导出Excel文件主要涉及以下几个步骤: - **创建Workbook对象**:这是Excel文件的容器,可以使用`XSSFWorkbook`(针对.xlsx)或`HSSFWorkbook`(针对.xls)创建。 - **创建Sheet对象**:...

    java导出excel POI jar包

    这个链接提供了一个详细的Java代码示例,演示了如何使用POI导出Excel。在实际开发中,你可以根据这个示例调整代码以满足自己的需求,比如添加更多的数据处理逻辑或自定义样式。记得在导入项目时,确保包含上述提到的...

    java 利用poi导出EXCEL

    提供的`导出EXCEL.docx`文档可能包含了使用POI导出Excel的代码示例。这个文档通常会详细解释每一步操作,包括如何读取数据、如何设置单元格格式以及如何保存文件。 8. **依赖安装** 要使用Apache POI,你需要在...

    poi方式导出excel需要的3个jar包

    以下是一个简单的使用Apache POI导出Excel的工作流程示例: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileOutputStream; import java....

    POI导出Excel表格

    在这个“POI导出Excel表格”的实例中,我们将深入探讨如何利用Apache POI进行Excel文件的导入与导出操作。 首先,我们需要在项目中集成Apache POI库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```...

    poi导出根据模板导出excel和简单列表导出excel源码

    在本案例中,我们关注的是如何使用 Apache POI 库来导出 Excel 文件,特别是根据模板导出和简单列表导出。下面将详细介绍这个过程。 1. **Apache POI 概述** Apache POI 提供了 Java API 来读写 Microsoft Office ...

    文件下载 用poi导出excel文档

    ### 文件下载:使用POI导出Excel文档 在日常工作中,我们经常需要处理大量数据,并将其以Excel格式导出供用户下载。Java中一个非常强大的工具包——Apache POI可以帮助我们实现这一需求。Apache POI是一个用于读写...

    poi导出excel生成下拉列表

    poi作为导出excel常用的工具,方便快捷。对于excel指定下拉列表的列,如何生成呢?本文提供如何生成下拉列表的excel列

    java poi导出excel

    以上就是使用Java POI导出Excel的基本步骤。你可以根据实际需求调整代码,例如添加数据遍历、样式设置、图表生成等功能。确保正确管理资源,避免内存泄漏,特别是在服务器端处理大量数据时。记得在完成后关闭工作簿...

    poi 导出EXCEL 例子

    接下来,我们将创建一个简单的Java程序来演示如何使用POI导出Excel文件。首先,导入必要的POI库: ```java import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.*; import ...

    使用poi方式导出excel(分多个sheet导出)

    七、导出Excel文件 最后,将Workbook写入OutputStream或File,完成导出: ```java try (FileOutputStream out = new FileOutputStream("output.xlsx")) { workbook.write(out); } catch (IOException e) { e....

    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...

    poi导出excel需要的jar

    "poi导出excel需要的jar"指的是在使用Apache POI进行Excel导出时,你需要包含特定的JAR依赖文件。 首先,要实现POI导出Excel的功能,你需要下载Apache POI相关的JAR文件。这些文件通常包括以下核心组件: 1. **poi...

    POI使用Excel模板文件循环输出行并导出Excel

    在这个特定的例子中,我们将讨论如何使用POI库基于一个Excel模板文件循环输出数据行,并将结果导出为新的Excel文件。 首先,我们需要理解POI库的基本概念。POI提供了HSSF(Horizontally SpreadSheet Format)和XSSF...

Global site tag (gtag.js) - Google Analytics