数据库查询的数据导出到xls表,集合数据导出到xls表

//实体类
package com.outxls; public class Student { private Integer studentId; private String studentName; private String studentClass; private String studentTel; private String studentEmail; public Integer getStudentId() { return studentId; } public void setStudentId(Integer studentId) { this.studentId = studentId; } public String getStudentName() { return studentName; } public void setStudentName(String studentName) { this.studentName = studentName; } public String getStudentClass() { return studentClass; } public void setStudentClass(String studentClass) { this.studentClass = studentClass; } public String getStudentTel() { return studentTel; } public void setStudentTel(String studentTel) { this.studentTel = studentTel; } public String getStudentEmail() { return studentEmail; } public void setStudentEmail(String studentEmail) { this.studentEmail = studentEmail; } public Student(Integer studentId, String studentName, String studentClass, String studentTel, String studentEmail) { super(); this.studentId = studentId; this.studentName = studentName; this.studentClass = studentClass; this.studentTel = studentTel; this.studentEmail = studentEmail; } public Student() { super(); } @Override public String toString() { return "Student [studentId=" + studentId + ", studentName=" + studentName + ", studentClass=" + studentClass + ", studentTel=" + studentTel + ", studentEmail=" + studentEmail + "]"; } }

 

package com.outxls;

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

import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;

public class OutXlsUtil {

	public static void main(String[] args) {
		//省去数据库查询代码  ,所有我自己直接写了一个集合代替查询到的数据
		List<Student> stulist=new ArrayList<Student>();
		Student stu=null;
		for(int i=0;i<10;i++) {
			stu=new Student();
			stu.setStudentId(i+1);
			stu.setStudentName("小明"+(i+1));
			stu.setStudentClass("一班");
			stu.setStudentTel("1337098123"+i);
			stu.setStudentEmail("7632832"+i+"@qq.com");
			stulist.add(stu);
		}
		
		try {
			outFilesUtil(stulist);
		} catch (RowsExceededException e) {
			
			e.printStackTrace();
		} catch (WriteException e) {
				
			e.printStackTrace();
		} catch (IOException e) {
		
			e.printStackTrace();
		}
	}

	/**
	 * 
	 * @param stulist 传一个集合
	 * @throws IOException
	 * @throws RowsExceededException
	 * @throws WriteException
	 */
	public static void outFilesUtil(List<Student> stulist) throws IOException, RowsExceededException, WriteException {
		//用一个string 数组来设置xls表头
		String[] title = { "序号", "姓名", "班级", "手机号码", "邮箱" };
		// 创建一个输出的xls文件路径
		String outPath = "C:\\Student.xls";
		// 创建Excel 工作
		WritableWorkbook wwb;
		OutputStream os = null;
		//输出流
		os = new FileOutputStream(outPath);
		wwb = Workbook.createWorkbook(os);
		// 添加第一个工作表并设置第一个Sheet的名字
		WritableSheet sheet = wwb.createSheet("学生信息", 0);
		Label label;
		for (int i = 0; i < title.length; i++) {
			//设置表头
			label = new Label(i, 0, title[i]);
			sheet.addCell(label);
		}

		// 这里是将查询的数据填写到xls表
		for (int j = 0; j < stulist.size(); j++) {
			//1 列
			label = new Label(0, j + 1, stulist.get(j).getStudentId().toString());
			sheet.addCell(label);
			//2 列
			label = new Label(1, j + 1, stulist.get(j).getStudentName());
			sheet.addCell(label);
			//3 列
			label = new Label(2, j + 1, stulist.get(j).getStudentClass());
			sheet.addCell(label);
			//4 列
			label = new Label(3, j + 1, stulist.get(j).getStudentTel());
			sheet.addCell(label);
			//5 列
			label = new Label(4, j + 1, stulist.get(j).getStudentEmail());
			sheet.addCell(label);
		}
		// 写入数据
		wwb.write();
		//刷新
		os.flush();
		// 关闭文件
		wwb.close();

	}

}

 需要jxt.jar

posted @ 2018-02-09 10:44  夏风中的Young_Uncle  阅读(330)  评论(0编辑  收藏  举报