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

jxl导出excel 文档

    博客分类:
  • java
阅读更多

刚工作就碰到让转个excel 文档,当时贴了别人的.后来有时间赶紧自己照着别人写个,只要把别人的东西弄明白就是自己的了,

 哈哈! 看代码 ,这个功能是弹出提示框的,也解决了导出后的数据类型问题,还有 标题显示,并可以吧标题颜色做改变: 贴出来大家分享!

package com.resunly;

import java.io.OutputStream;
import java.util.List;

import javax.servlet.http.HttpServletResponse;

import jxl.Workbook;
import jxl.format.Alignment;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.Colour;
import jxl.format.VerticalAlignment;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

public class ExcelMethod {
	public void toExcelTest(List stulist, HttpServletResponse response){
		//创建工作流
		OutputStream os = null;
		
		//初始化工作表
		WritableWorkbook workbook = null;
		try {
			
			//设置弹出对话框
			response.setContentType("application/DOWLOAD");
			
			//设置工作表的标题
			response.setHeader("Content-Disposition", "attachment; filename=My Test TO Excel.xls");
			os = response.getOutputStream();
			
			//创建工作表
			workbook = Workbook.createWorkbook(os);
			
			//定义工作表 sheet 标题
			WritableSheet ws = workbook.createSheet("Mapping", 0);
			ws.getSettings().setShowGridLines(true);
			ws.getSettings().setProtected(false);
			
			//控制列的宽度,如果你要不给一样的宽度,就单独写,i代表的是列的下标,从0开始 ,从左到右
			for(int i=0;i<7;i++){
				ws.setColumnView(i, 20);
			}
			
			// 創建标题列名称
			Label titleLabel = null;
			titleLabel = new Label(0, 0, "StuNo", getHeadFormat());
			ws.addCell(titleLabel);
			titleLabel = new Label(1, 0, "StuName", getHeadFormat());
			ws.addCell(titleLabel);
			titleLabel = new Label(2, 0, "StuMoniter", getHeadFormat());
			ws.addCell(titleLabel);
			titleLabel = new Label(3, 0, "StuAddr", getHeadFormat());
			ws.addCell(titleLabel);
			titleLabel = new Label(4, 0, "Stu TELL", getHeadFormat());
			ws.addCell(titleLabel);
			titleLabel = new Label(5, 0, "Stu sex", getHeadFormat());
			ws.addCell(titleLabel);
			titleLabel = new Label(6, 0, "Stu classNo", getHeadFormat());
			ws.addCell(titleLabel);
			
			//循环添加对象数据
			for (int i = 0; i < stulist.size(); i++) {
				Stuinfo stuinfo =  (Stuinfo) stulist.get(i);
				String stuNo=stuinfo.getStuNo().toString();
				String stuName=stuinfo.getStuName().toString();
				String stuAddr=stuinfo.getAddr().toString();
				String stusex=stuinfo.getStuSex().toString();
				String stuminter=stuinfo.getMoniter().toString();
				String stuClassno=stuinfo.getClassNo();
				String stutell = stuinfo.getTell();

				Label stuNoLabel = new Label(0, i + 1, stuNo);
				Label stuNameLabel = new Label(1, i + 1, stuName);
				Label stuminterLabel = new Label(2, i +1, stuminter);
				Label stuAddrLable = new Label(3, i + 1, stuAddr);
				//Label stuTellLabel = new Label(4, i + 1, stutell); 如果用这个导出后会有数值和文本的区别
				jxl.write.Number tellNumber = new jxl.write.Number(4,i+1,Double.parseDouble(stutell));
				Label stusexLabel = new Label(5, i + 1,stusex );
				//Label classNoLabel = new Label(6, i + 1,stuClassno); 一下要注意了,必须要转成double类型的数据
				jxl.write.Number classNoNumber = new jxl.write.Number(6, i + 1,Double.parseDouble(stuClassno));
				
				ws.addCell(stuNoLabel);
				ws.addCell(stuNameLabel);
				ws.addCell(stuminterLabel);
				ws.addCell(stuAddrLable);
				ws.addCell(tellNumber);
				ws.addCell(stusexLabel);
				ws.addCell(classNoNumber);
			}
			
			workbook.write();
			workbook.close();
			os.close();
		} catch (Exception e) {
			System.out.println(e.getCause());
			System.out.println(e.getMessage());
		}
	}
	
	/**
	 * 设置单元格样式
	 * @return
	 * @throws Exception
	 */
	public static WritableCellFormat getHeadFormat() throws Exception {
		//设置字体
		WritableFont wf = new WritableFont(WritableFont.ARIAL, 8, WritableFont.BOLD);
		
		//创建单元格FORMAT
		WritableCellFormat wcf = new WritableCellFormat(wf);
		wcf.setAlignment(Alignment.CENTRE);                         
		wcf.setVerticalAlignment(VerticalAlignment.CENTRE);         
		wcf.setLocked(true);
		wcf.setBorder(Border.ALL, BorderLineStyle.THIN, Colour.BLACK);
		wcf.setBackground(Colour.GREY_25_PERCENT);
		return wcf;
	}
}

 

分享到:
评论

相关推荐

    java通过jxl生成excel文档

    Java通过JXL库生成Excel文档是一项常见的任务,尤其在数据导出、报表生成等领域非常实用。JXL是一个Java API,允许我们读写Microsoft Excel文件,而无需依赖Microsoft Office。在这个过程中,我们可以创建新的工作簿...

    JXL 下载 Excel 文档

    1. **创建新Excel文档**:通过JXL,你可以创建一个新的Excel工作簿,并添加工作表,设置单元格的样式、颜色、字体等。 2. **读取Excel文档**:可以打开已存在的Excel文件,读取其中的数据,包括文本、数字、日期、...

    Struts2+JXL 下载 Excel 文档

    在"Struts2+JXL 下载 Excel 文档"的场景中,开发者通常会创建一个Action,这个Action负责生成Excel文档并提供下载。用户通过浏览器访问特定URL,Struts2框架接收到请求后,会路由到相应的Action。Action内部会利用...

    JXL导出excel的示例及文档

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

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

    在Java编程环境中,处理Excel文件是一项常见的任务,特别是在数据导入导出、报表生成等领域...对于更复杂的需求,可能需要考虑使用其他库,如Apache POI,它提供了更丰富的功能来处理Excel文档,包括更精细的图像操作。

    SSH+JXL 下载 Excel 文档

    在"SSH+JXL 下载 Excel 文档"的场景中,JXL将用于生成Excel文件,这可能包括创建工作表,设置单元格格式,填充数据等。 4. **Excel文档的生成**: 使用JXL,开发者可以创建`WritableWorkbook`对象,然后添加`...

    JXL开发excel文档(中文)

    【JXL 开发 Excel 文档】是 Java 用于生成和操作 Excel 文件的一种开源库,尤其适合于需要在 Java 应用程序中创建 Excel 报表的场景。在 Java 报表开发中,JXL 是一个不可或缺的工具,因为它能够方便地生成和处理 ...

    jxl 导出 excel

    "jxl 导出 excel"的标题和描述暗示了我们将会讨论如何使用JXL库从数据库中导出数据到Excel文档的过程。这个过程涉及到Java编程、数据库操作以及JXL库的使用。 首先,我们需要了解JXL库。JXL是一个开源库,它提供了...

    jxl导出Excel基础

    在Java开发中,导出数据到Excel是一种常见的需求,特别是在数据报表、数据分析或者用户下载功能中。`jxl`库是Java中一个广泛使用的...通过理解上述步骤和使用`jxl`库的API,开发者可以轻松地创建功能丰富的Excel文档。

    使用jxl给excel加水印

    JXL是一个开源的Java库,专门用于读写Microsoft Excel文件,它提供了丰富的API,方便我们在程序中处理Excel。 首先,让我们了解一下JXL的基本用法。要使用JXL,你需要下载jxl.jar文件,并将其添加到项目的类路径中...

    利用Jxl生成excel文件

    这篇博客“利用Jxl生成excel文件”提供了关于如何使用Jxl库创建Excel文档的指导。 首先,Jxl库允许开发者在Java程序中直接操作Excel格式的数据,而无需依赖Microsoft Office套件。它支持多种Excel功能,如单元格...

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

    本文将详细介绍如何利用Java编程语言结合JXL和Apache POI库来实现给Excel文档添加动态水印的功能。 #### 技术栈介绍 - **JXL**: 是一个用于读写Excel文件的Java库,支持多种Excel版本,包括.xls格式。 - **Apache ...

    java jxl导出excel文件.txt

    它提供了丰富的API来处理Excel文档中的各种元素,包括单元格、工作表、字体样式等。JXL支持Excel 95/97/2000/XP文件格式。 ### 2. 使用Java JXL 导出Excel文件的基本步骤 #### 准备工作 在使用Java JXL之前,首先...

    java使用jxl进行Excel导入导出

    Java 使用 JXL 进行Excel导入导出是一个常见的任务,特别是在数据处理和分析场景中。JXL 是一个 Java 库,允许开发者方便地读取、写入和操作 Excel 文件(.xls 格式)。以下是对这个主题的详细阐述: 1. **JXL 概述...

    JXL英文文档、源码、中文基础使用文档

    5. **读写机制**:JXL通过解析和生成Excel特定的二进制格式(BIFF)实现文件的读写。 ### 三、JXL中文基础使用文档 对于中文用户,JXL的中文文档提供了更易理解的指导: 1. **快速入门**:简明教程,让开发者快速...

    jxl.jar使用文档

    生成Excel 2000标准格式 支持字体、数字、日期操作 能够修饰单元格属性 支持图像和图表 应该说以上功能已经能够大致满足我们的需要。最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它...

    jxl解析excel

    在IT行业中,处理数据时,Excel表格是一种广泛使用的格式,特别是在数据分析、报表生成等领域。而Java作为企业级应用开发的主要语言之一,对于读取和写入Excel文件的需求同样旺盛。"jxl"库是一个用于Java的开源库,...

    struts2导出excel java 导出excel JXL

    struts2导出excel java 导出excel: JXL_excel: 可以直接在elipse下运行的例子 可以直接导出excel文件(包含所需的jar包) CSharpJExcel: 是JXL的官方下载的 包括详细的文档 和jar包

    jxl导出excel

    这篇博客文章可能是关于如何使用JXL库创建和操作Excel文档的一个教程或技术分享。 在Java开发中,处理Excel数据是常见的需求,例如数据分析、报表生成或数据导出。JXL库提供了方便的API,让开发者可以很容易地访问...

Global site tag (gtag.js) - Google Analytics