`

Java jxl 导出excel报表

阅读更多

方法1
		
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
		Date date = new Date(); 
	 public String Report2UserInfo() throws IOException, WriteException{
		 List rsList = userInfoService.queryList();
		 String fileName = sf.format(date)+".xls";
		 WritableWorkbook wwb;
	       FileOutputStream fos;
		  try {
			fos = new FileOutputStream(fileName);
			   wwb = Workbook.createWorkbook(fos);
		          WritableSheet ws = wwb.createSheet("员工信息表", 0);        // 创建一个工作表
		          //    设置单元格的文字格式
//		          WritableFont wf = new WritableFont(WritableFont.ARIAL,12,WritableFont.NO_BOLD,false,
//		                  UnderlineStyle.NO_UNDERLINE,Colour.BLUE);
//		          WritableCellFormat wcf = new WritableCellFormat(wf);
//		          wcf.setVerticalAlignment(VerticalAlignment.CENTRE); 
//		          wcf.setAlignment(Alignment.CENTRE); 
//		          ws.setRowView(1, 500);
		          WritableFont wf = new  WritableFont(WritableFont.TIMES, 10 ,WritableFont.BOLD);//定义字体
		          wf.setColour(Colour.BLUE);//蓝色字体
		          WritableCellFormat wcf = new  WritableCellFormat(wf);
		          wcf.setAlignment(jxl.format.Alignment.CENTRE);//左右居中
		          wcf.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);//上下居中
		          wcf.setBorder(Border.ALL,BorderLineStyle.THIN,Colour.BLACK);//黑色边框
		          wcf.setBackground(Colour.YELLOW);//黄色背景
		          int charTitle = 10;// 标题字体大小   
		          int charNormal = 10;// 标题字体大小   
		          // 添加带有字型Formatting的对象   
		          // 用于标题   
		          jxl.write.WritableFont titleFont = new jxl.write.WritableFont(   
		          WritableFont.createFont("宋体"), charTitle, WritableFont.BOLD);   
		          jxl.write.WritableCellFormat titleFormat = new jxl.write.WritableCellFormat(   
		           titleFont);   
		          titleFormat.setBorder(Border.ALL, BorderLineStyle.THIN); // 线条   
		          titleFormat.setVerticalAlignment(VerticalAlignment.CENTRE); // 垂直对齐   
		          titleFormat.setAlignment(Alignment.CENTRE); // 水平对齐   
//		          titleFormat.setWrap(true); // 是否换行   
		          titleFormat.setBackground(Colour.GRAY_25);// 背景色暗灰-25%   
		          // 用于正文   
		          WritableFont wcf1 = new WritableFont(WritableFont   
		            .createFont("宋体"), charNormal);
//		        填充数据的内容
		            UserInfo[] p = new UserInfo[rsList.size()];
		            for (int i=0;i<titles.length;i++) {
			            Label label=new Label(i,0,titles[i],wcf);
			            //将定义好的单元格添加到工作表中
			            ws.addCell(label);
			        }
		            for (int i = 0; i < rsList.size(); i++){
		                p[i] = (UserInfo)rsList.get(i);
		                ws.addCell(new Label(0, i + 1, String.valueOf(i+1), titleFormat));
		                ws.addCell(new Label(1, i + 1, p[i].getCompanyName(), titleFormat));
		                ws.addCell(new Label(2, i + 1, p[i].getUserName(), titleFormat));
		                ws.addCell(new Label(3, i + 1, p[i].getMobileNumber(), titleFormat));
		                if(i == 0)
		                    wcf1 = new WritableFont(WritableFont   
		        		            .createFont("宋体"), charNormal);
		            }

		            wwb.write();
		            wwb.close();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
       
		 return null;
	 }



点击立即下载增加如下代码
 OutputStream	 os = response.getOutputStream();
				// 取得输出流   
           response.reset();// 清空输出流  
//		           response.setHeader("Content-disposition", "attachment; filename="+new String(fileName.getBytes("utf-8"),"8859_1"));// 设定输出文件头  
           response.setHeader("Content-disposition", "attachment; filename="+fileName);// 设定输出文件头   
           response.setContentType("application/msexcel");// 定义输出类型 

方法2


	public String ReportUserInfo(){
//继承 ActionSupport即可
		HttpServletResponse  response = ServletActionContext.getResponse();
		List rsList = userInfoService.queryList();
//		String fileName = "C:\\"+sf.format(date)+".xls";
		String fileName = sf.format(date)+".xls";
		 try
	        {
			 OutputStream	 os = response.getOutputStream();
				// 取得输出流   
           response.reset();// 清空输出流  
//		           response.setHeader("Content-disposition", "attachment; filename="+new String(fileName.getBytes("utf-8"),"8859_1"));// 设定输出文件头  
           response.setHeader("Content-disposition", "attachment; filename="+fileName);// 设定输出文件头  
           response.setContentType("application/msexcel");// 定义输出类型 
		    WritableWorkbook book=Workbook.createWorkbook(os); // 建立excel文件 
//	        WritableWorkbook book=Workbook.createWorkbook(new File(fileName));
	        //生成名为“第一页”的工作表,参数0表示这是第一页
	        WritableSheet sheet=book.createSheet("员工信息表",0);
	        //在Label对象的构造子中指名单元格位置是第一列第一行(0,0)
	        //以及单元格内容为test
	        for (int i=0;i<titles.length;i++) {
	            Label label=new Label(i,0,titles[i]);
	            //将定义好的单元格添加到工作表中
	            sheet.addCell(label);
	        }
	        long countNumber=0;
	        for (int i=0;i<rsList.size();i++) {
	            /*Map tmpMap= new HashMap();
	            tmpMap.put(i, rsList.get(i));*/
	        	UserInfo userInfo = (UserInfo) rsList.get(i);
	            Label label3=new Label(0,i+1,(i+1)+"");
	            //将定义好的单元格添加到工作表中
	            sheet.addCell(label3);
	            List list =getContent(userInfo);
            	Label label = null;
            	for(int k = 0;k <list.size(); k++){
            		 label=new Label(k+1,i+1,list.get(k).toString());
            		sheet.addCell(label);
            	}
/*	            for (int j=0;j<columns.length;j++) {
	            	String abc = null;
	            	if(j == 0){
	            		abc = userInfo.getCompanyName();
	            	}
	            	if(j == 1){
	            		abc = userInfo.getUserName();
	            	}
	            	if(j == 2){
	            		abc = userInfo.getMobileNumber();
	            	}
	            	 Label label=new Label(j+1,i+1, abc);
	                将定义好的单元格添加到工作表中
	            }*/
	        }
	        //写入数据并关闭文件
	        book.write();
	        book.close();
	        }catch(Exception e)
	        {
	        e.printStackTrace();
	        }
		return null;
	}
  • jxl.jar (708.7 KB)
  • 下载次数: 2
分享到:
评论

相关推荐

    java使用jxl打印excel报表文件

    在Java开发中,生成和处理Excel文件是一...总的来说,通过JXL库,Java开发者可以方便地生成和打印Excel报表,满足各种数据展示和导出的需求。尽管JXL有一些限制,但其简单易用的API使得它成为小型项目的一个不错选择。

    jxl导出excel工具类

    在描述中提到的“jxl导出excel工具类”,通常会包含以下功能: 1. **初始化工作簿**:创建一个新的`Workbook`对象,这是Excel文件的基本单位,可以包含多个工作表。 2. **创建工作表**:在`Workbook`中添加新的`...

    java绝对生成excel报表

    在Java编程环境中,生成Excel报表是一项常见的任务,尤其在数据处理和数据分析领域。"java绝对生成excel报表"这个标题暗示了我们可以通过Java实现对Excel文件的创建和操作,确保能够生成精确的表格形式的数据报告。...

    使用jxl导出Excel表的好例子

    本篇文章将深入探讨如何利用`jxl`库来创建和导出Excel表格。 首先,我们需要在项目中引入`jxl`库。如果你的项目是Maven项目,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;...

    poi jxl 生成EXCEL 报表

    在Java编程环境中,生成Excel报表是一项常见的任务,尤其在数据处理和数据分析中。Apache POI 和 JExcelAPI(JXL)是两个广泛使用的库,分别用于处理Microsoft Office的POI格式(包括Excel)和Java环境中的Excel文件...

    JXL导出Excel数据表

    首先,我们来理解"JXL导出Excel数据表"这一主题。JXL(Java Excel API)是一个开源项目,它允许Java程序创建、修改和读取Excel文件。通过这个库,我们可以方便地在程序中动态生成Excel工作表,包括设置单元格格式、...

    jxl实现导出excel数据

    在Java编程环境中,导出Excel数据是一项常见的任务,特别是在数据处理、报表生成或者数据分析的应用中。JXL库是一个广泛使用的开源库,它提供了方便的方式来读取、写入和操作Excel文件。下面我们将深入探讨如何使用...

    jxl 导出 excel

    在Java编程环境中,JXL库是一个非常流行...总之,使用JXL库在Java中导出Excel文件是一项常见的任务,尤其在数据分析和报表生成场景下。通过熟悉JXL的API,你可以轻松地定制化Excel文件的格式和内容,满足各种业务需求。

    JXL导出excel的示例及文档

    在本示例中,我们将探讨如何使用JXL导出Excel以及JXL的API文档。 1. **JXL的基本用法** - **创建工作簿(Workbook)**: 使用`Workbook.createWorkbook()`方法创建一个新的Excel工作簿对象。 - **创建工作表...

    java jxl 导出

    综上所述,Java JXL库提供了一种简单而有效的途径,使得在Java应用程序中实现Excel文件的导出,包括创建多Sheet页的功能,这对于数据报表和分析场景特别实用。通过掌握JXL库的使用,开发者能够方便地将程序中的数据...

    jxl对excel添加水印(含有setWaterMarkImage方法).zip

    在Java编程环境中,处理Excel文件是一项常见的任务,特别是在数据导入导出、报表生成等领域。`jxl`库是一个广泛使用的开源库,它允许开发者用Java读取、写入和修改Excel文件。在这个特定的场景中,我们将探讨如何...

    java导出Excel 时候 相同行合并

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

    jxl导出excel.zip

    总结来说,"jxl导出excel.zip"提供的工具可以帮助Java开发者高效地处理Excel导出任务,利用JXL库的强大功能,结合自定义的工具类和注解,能够灵活、便捷地将业务数据转换为用户友好的Excel文件。对于需要处理大量...

    java_jxl导入导出

    综上所述,Java JXL库是Java开发者处理Excel文件的强大工具,尤其在数据导入导出、报表生成等场景下,其简洁的API和丰富的功能使其成为不可或缺的选择。然而,对于需要处理.xlsx格式的新版Excel文件,开发者可能需要...

    Java通过POI和JXL给Excel动态添加水印

    ### Java通过POI和JXL给Excel动态添加水印 #### 概述 在实际工作中,经常需要对敏感或重要的Excel文件进行保护措施,比如添加水印。这不仅可以增加文档的专业性,还可以作为版权保护的一种手段。本文将详细介绍...

    java使用JXL导入导出excel

    Java使用JXL库进行Excel导入导出是一种常见的技术实践,特别是在需要在Java...无论选择哪种库,理解如何在Java中与Excel交互是开发过程中的重要技能,特别是在需要从Web应用中导出报表或处理用户上传的Excel文件时。

    jxl导出Excel基础

    虽然提供的压缩包子文件名`jxl导出Excel基础.mht`并未包含具体的代码示例,但根据文件类型(MHT是单个文件网页),我们可以推测这个文件可能包含了详细的代码示例或教程,用于辅助理解上述的导出流程。 总结起来,`...

    jxl导出报表

    本文将详细探讨`jxl`库在导出Excel报表方面的应用,以及如何利用它来实现一个简单的报表生成过程。 首先,我们需要了解`jxl`库的基本结构。`jxl`库提供了多种类和接口,如`Workbook`、`Sheet`、`Cell`等,它们分别...

    java利用jxl生成excel文件

    Java使用JXL库生成Excel文件是一项常见的任务,特别是在数据处理、报表生成或导出时。JXL是一个开源的Java库,允许我们读取、写入和修改Excel文件。以下将详细讲解如何使用JXL库来生成Excel文件。 首先,我们需要在...

    JAVA导出Excel报表之jxl插件及实例源码

    jxl是一个韩国人写的java操作excel的工具, 在开源世界中,有两套比较有影响的API可供使用,一个是POI,一个是jExcelAPI。其中功能相对POI比较弱一点。但jExcelAPI对中文支持非常好,API是纯Java的, 并不依赖Windows...

Global site tag (gtag.js) - Google Analytics