`

java利用jxl导出excel表格

    博客分类:
  • Java
 
阅读更多

java利用jxl导出excel表格

不多说,直接上代码

1、实体类Student

package com.model;

public class Student {
	
	private int id;
	private String userName;
	private int age;
	
	public Student() {
	}
	public Student(int id, String userName, int age) {
		this.id = id;
		this.userName = userName;
		this.age = age;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	@Override
	public String toString() {
		return "Student [age=" + age + ", id=" + id + ", userName=" + userName
				+ "]";
	}

}

 2、数据访问对象类(采用List模拟数据库)StudentDao

package com.dao;

import java.util.ArrayList;
import java.util.List;

import com.model.Student;
/**
 * @author kangkang.tao
 */
public class StudentDao {
	
	public final static List<Student> allStudents = new ArrayList<Student>();
	// 初始化数据,相当于数据库
	static{
		allStudents.add(new Student(1,"康康",23));
		allStudents.add(new Student(2,"积木",12));
		allStudents.add(new Student(3,"凯南",15));
		allStudents.add(new Student(4,"gina",16));
		allStudents.add(new Student(5,"jim",10));
		allStudents.add(new Student(6,"tamy",14));
		allStudents.add(new Student(7,"anni",20));
		allStudents.add(new Student(8,"pile",10));
		allStudents.add(new Student(9,"amy",23));
		allStudents.add(new Student(10,"temy",22));
		allStudents.add(new Student(11,"kill",15));
		allStudents.add(new Student(12,"jane",16));
		allStudents.add(new Student(13,"kang",17));
	}
	
	// 查询所有
	public List<Student> getAll(){
		return allStudents;
	}
}

 3、servlet

package com.servlet;

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

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

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

import com.dao.StudentDao;
import com.model.Student;


public class ExportServlet extends HttpServlet {

	private static final long serialVersionUID = 1L;
	private StudentDao dao = new StudentDao();

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		this.doPost(request, response);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		OutputStream os = response.getOutputStream();// 取得输出流   
        response.reset();// 清空输出流  

        response.setHeader("Content-disposition", "attachment; filename=studentList.xls");// 设定输出文件头   
        response.setContentType("application/msexcel");// 定义输出类型 
        
        
		WritableWorkbook book = null;
		try {
			 // 打开文件
            book = Workbook.createWorkbook(os);
            
            WritableCellFormat  wcf = new WritableCellFormat(); 
            wcf.setAlignment(jxl.format.Alignment.CENTRE);
            wcf.setBorder(Border.ALL, BorderLineStyle.THIN);
            wcf.setBackground(Colour.GREY_25_PERCENT);
            
            // 生成名为"学生"的工作表,参数0表示这是第一页
            WritableSheet sheet = book.createSheet("学生基本信息表", 0);
            // 读取学生的数据信息
            List<Student> studentList = dao.getAll();
            Label head1 = new Label(0, 0, "编号");
            head1.setCellFormat(wcf);
            sheet.addCell(head1);
            Label head2 = new Label(1, 0, "姓名");
            head1.setCellFormat(wcf);
            sheet.addCell(head2);
            Label head3 = new Label(2, 0, "年龄");
            head1.setCellFormat(wcf);
            sheet.addCell(head3);
            
            if(studentList != null && !studentList.isEmpty()){
            	for (int i = 0; i < studentList.size(); i++) {
					sheet.addCell(new Label(0, i+1, String.valueOf(studentList.get(i).getId())));
					sheet.addCell(new Label(1, i+1, studentList.get(i).getUserName()));
					sheet.addCell(new Label(2, i+1, String.valueOf(studentList.get(i).getAge())));
				}
            }
            // 写入数据并关闭文件
            book.write();
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if(book!=null){
                try {
                    book.close();
                } catch (Exception e) {
                    e.printStackTrace();
                } 
			}
		}
 	}
}

 4、web.xml

   <!-- 导出数据:配置export.do -->
  <servlet>
  	<servlet-name>exportServlet</servlet-name>
  	<servlet-class>com.servlet.ExportServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>exportServlet</servlet-name>
	<url-pattern>/export.do</url-pattern>
  </servlet-mapping>

 5、jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
 <a href="export.do">导出EXCEL</a>
</body>
</html>

 

 

  • JXL.7z (441 KB)
  • 下载次数: 0
分享到:
评论

相关推荐

    java用jxl包导出excel表格

    在Java编程中,导出Excel表格是一项常见的任务,特别是在数据处理和报告生成的场景下。JXL库是一个广泛使用的第三方库,它允许开发者方便地读取、写入和操作Microsoft Excel文件。本篇文章将深入探讨如何使用JXL包在...

    java利用jxl生成excel文件

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

    用jxl生成EXCEL表格

    用jxl生成EXCEL表格,一个非常简单易懂的写法。

    jxl方式生成excel表格.zip

    本资源提供了一个利用jxl库实现Java程序中生成Excel表格的解决方案。jxl是一个广泛使用的开源Java库,它允许开发者读取、写入和修改Microsoft Excel文件。 首先,我们来详细了解一下jxl库。jxl库支持多种Excel操作...

    jxl方式实现导出Excel表格

    使用jxl方式实现Excel表格导出,非常简单而且实用

    jxl导出excel工具类

    通过这些对象,我们可以自由地构造Excel表格内容。 在描述中提到的“jxl导出excel工具类”,通常会包含以下功能: 1. **初始化工作簿**:创建一个新的`Workbook`对象,这是Excel文件的基本单位,可以包含多个工作...

    jxl JAVA Excel解析

    Java中的JXL库是一个非常实用的工具,它允许开发者在应用程序中读取、写入和修改Excel文件。这个库特别适合那些需要处理大量数据并希望将数据格式化为表格的项目。下面我们将深入探讨JXL库在Java Excel解析中的应用...

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

    在许多场景下,我们需要将数据导出到Excel表格以便于分析、报告或者共享。本教程将介绍如何使用Java来实现这一功能,主要依赖于jxl库,这是一个用于读写Excel文件的开源Java库。 首先,你需要获取jxl.jar包。这个库...

    使用jxl导出Excel表的好例子

    在Java编程环境中,导出数据到Excel表格是一个常见的需求,特别是在数据分析、报表生成或数据交换时。`jxl`库是Java中一个广泛使用的库,它允许开发者方便地读取和写入Microsoft Excel文件。本篇文章将深入探讨如何...

    jxl导出excel支持模板和非模板

    利用JXL技术支持模板和非模板的表格导出

    struts2整合apache的jxl导入导出excel表格

    Struts2 框架与 Apache 的 JXL 库整合,可以方便地实现在 Java Web 应用中导入和导出 Excel 表格的功能。Apache JXL 是一个强大的 Java 库,专门用于读写 Microsoft Excel 文件,使得开发者无需依赖 Office API 就能...

    poi jxl 生成EXCEL 报表

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

    jxl操作excel表格

    本文将深入探讨如何利用`jxl`库进行Excel表格的操作,包括读取表格、拷贝工作簿、更新工作簿以及将多个Sheet合并到一个Excel文件中。 首先,让我们了解`jxl`库的基本概念。`jxl`库提供了一系列的类和接口,如`...

    java_jxl导入导出

    2. **报表生成**:利用JXL可以快速生成定制化的报表,包括表格、图表等形式,方便非技术人员理解。 3. **数据分析**:对于需要对Excel数据进行分析的项目,JXL提供了一种直接在Java环境中处理Excel数据的方式,避免...

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

    总结来说,利用Java和jxl.jar库,我们可以方便地将数据导出到Excel表格,进行各种数据处理和展示。这个过程涉及到的工作包括创建Workbook对象代表Excel文件,创建Sheet对象代表工作表,以及通过Label等类向单元格...

    jxl导出excel

    标题中的“jxl导出excel”指的是使用JExcelApi(简称jxl)库来生成和导出Microsoft Excel格式的文件。JExcelApi是一个开源Java库,允许开发者在Java应用程序中读取、写入和修改Excel文件。这个工具类在处理大量数据...

    使用jxl.jar在Android中操作Excel表格

    这里我们将深入探讨如何使用jxl.jar库在Android环境中操作Excel表格,特别是处理隐藏表的情况。 首先,jxl是一个Java库,它允许我们以编程方式读取和写入Microsoft Excel文件。由于Android系统基于Java,因此可以...

    JXL导出Excel数据表

    通过这个库,我们可以方便地在程序中动态生成Excel工作表,包括设置单元格格式、添加公式以及处理图像等复杂操作。在描述中提到的"封装了一个简单易用、通用、动态的方法",指的是开发者可以通过自定义方法,根据...

    jxl导出excel文件的例子,用了java反射

    标题提到的"jxl导出excel文件的例子",意味着我们将探讨如何使用JXL库创建Excel文件。 在Java中,导出Excel文件通常涉及以下步骤: 1. 引入JXL库:首先,你需要在项目中添加JXL的依赖。如果你使用的是Maven,可以...

Global site tag (gtag.js) - Google Analytics