java数据生成excel_Java 数据库数据生成Excel

采用jxl.jar生成Excel

项目开发注意事项: 1:导入从网上下载的jar包:

mail.jar 和 activation.jar

2:删掉C:\Program Files\MyEclipse\Common\plugins\com.genuitec.eclipse.j2eedt.core_10.0.0.me201110301321\data\libraryset\EE_5 下  javaee.jar中的javax-->activation.jar和mail.jar (两个Jar包)。不删除会报错,原因是是jar包版本不统一

3.导入jxl.jar包

/*

* @(#)DownloadServlet.java Time: 2013-2-28

*

* Copyright 2013 xuedou.com All rights reserved.

*/

package xuedou.skymoni.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 common.Logger;

import jxl.Workbook;

import jxl.format.UnderlineStyle;

import jxl.write.Label;

import jxl.write.WritableCellFormat;

import jxl.write.WritableFont;

import jxl.write.WritableSheet;

import jxl.write.WritableWorkbook;

import jxl.write.WriteException;

import xuedou.skymoni.bean.Exam;

import xuedou.skymoni.impl.ExamImpl;

import xuedou.skymoni.service.ExamService;

/**

*

类说明

*功能描述:

* 下载Excel

* @author jinmingming jinmingming@xuedou.com

* @version 1.0, 2013-2-28

*/

public class DownloadServlet extends HttpServlet {

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

ExamService examService = new ExamImpl();

OutputStream os=null;

try

{

os = response.getOutputStream();

}

catch (IOException e1)

{

Logger.getLogger(DownloadServlet.class).error("获取response输出流出错");

}

response.reset();

response.setContentType("application/msexcel");

String fileName="市外模拟考信息数据.xls";

response.setHeader("Content-Disposition", "attachment;"+ " filename="+ new String(fileName.getBytes(), "ISO-8859-1"));

WritableWorkbook wwb=null;

WritableSheet ws=null;

try

{

wwb = Workbook.createWorkbook(os);

ws=wwb.createSheet("市外模拟考信息数据",0);

ws.getSettings().setDefaultColumnWidth(15);

//创建表头

WritableFont wfc = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.RED);

WritableCellFormat wcfFC = new WritableCellFormat(wfc);

Label topid = new Label(0,0,"编号",wcfFC);

Label topsname = new Label(1,0,"姓名",wcfFC);

Label topschool = new Label(2,0,"学校",wcfFC);

Label toptel = new Label(3,0,"手机",wcfFC);

Label topissky = new Label(4,0,"是否在蓝天就读",wcfFC);

Label topexamschool = new Label(5,0,"考试校区",wcfFC);

Label topexamtime = new Label(6,0,"考试时段",wcfFC);

Label topexamnum = new Label(7,0,"考试场次",wcfFC);

Label topticknum = new Label(8,0,"准考证号",wcfFC);

ws.addCell(topid);

ws.addCell(topsname);

ws.addCell(topschool);

ws.addCell(toptel);

ws.addCell(topissky);

ws.addCell(topexamschool);

ws.addCell(topexamtime);

ws.addCell(topexamnum);

ws.addCell(topticknum);

Label id = null;

Label sname = null;

Label school = null;

Label tel = null;

Label issky = null;

Label examschool = null;

Label examtime = null;

Label examnum = null;

Label ticknum = null;

List list = examService.allExam(); //得到List结果集

int listsize = list.size();

for (int i = 1; i <= listsize; i++){ //遍历封装

Exam exam = list.get(i-1);

id = new Label(0,i,Integer.toString(i));

sname = new Label(1,i,exam.getSname());

school = new Label(2,i,exam.getSchool());

tel = new Label(3,i,exam.getTel());

issky = new Label(4,i,exam.getIssky());

examschool = new Label(5,i,exam.getExamschool());

examtime = new Label(6,i,exam.getExamtime());

examnum = new Label(7,i,exam.getExamnum());

ticknum = new Label(8,i,exam.getTicknum());

ws.addCell(id);

ws.addCell(sname);

ws.addCell(school);

ws.addCell(tel);

ws.addCell(issky);

ws.addCell(examschool);

ws.addCell(examtime);

ws.addCell(examnum);

ws.addCell(ticknum);

}

}

catch (Exception e)

{

Logger.getLogger(DownloadServlet.class).error("输出Excel失败");

}

finally

{

try

{

wwb.write();

wwb.close();

os.close();

}

catch (WriteException e)

{

Logger.getLogger(DownloadServlet.class).error("关闭WritableWorkbook出错");

}

catch (IOException e)

{

Logger.getLogger(DownloadServlet.class).error("关闭WritableWorkbook出错");

}

}

}

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doPost(request, response);

}

}

JSP页面:

点击下载市外模拟考信息数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/257536.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

两张神图介绍python3和 2.x与 3.x 的区别

有感与第一张图, 做了第二张图.转载于:https://www.cnblogs.com/Vito2008/p/5280393.html

Java-jdbc连接数据库

1、Oracle8/8i/9i数据库&#xff08;thin模式&#xff09; Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url"jdbc:oracle:thin:localhost:1521:orcl"; //orcl为数据库的SID String user"test"; String…

abstract class 和 interface 区别

本文出自与&#xff1a;heipai:tsg666含有 abstract 修饰符的 class 即为抽象类&#xff0c;abstract 类不能创建的实例对象。含有 abstract 方法的类必须定义为 abstract class&#xff0c;abstract class 类中的方法不必是抽象的。abstract class 类中定义抽象方法必须在具体…

Factorial Trailing Zeroes

https://leetcode.com/problems/factorial-trailing-zeroes/ Given an integer n, return the number of trailing zeroes in n!. Note: Your solution should be in logarithmic time complexity. 解题思路&#xff1a; 再次遇见最讨厌的Math题。 开始的思路&#xff0c;结尾的…

java设计模式懒汉_java设计模式-懒汉设计模式

一、理论类加载时&#xff0c;不进行实例化&#xff0c;调用时才进行类的实例化。二、代码实现public class LazyManPattern {//1.构造方法私有化private LazyManPattern(){}//2.类加载时&#xff0c;不进行实例化private static LazyManPattern lazyManPattern;//3.创建实例化…

多视图参数传递

在iOS开发中常用的参数传递有以下几种方法&#xff1a; 采用代理模式 采用iOS消息机制 通过NSDefault存储&#xff08;或者文件、数据库存储等&#xff09; 通过AppDelegate定义全局变量&#xff08;或者使用UIApplication、定义一个单例类等&#xff09; 通过控制器属性传递转…

百年难得一见!阿里园区惊现双月争辉奇观!

9月3日晚杭州阿里园区上空突然惊现“双月争辉”奇观&#xff0c;引发路人、员工争相拍照留念狂潮。记者随后深入园区探访&#xff0c;近距离观察“双月奇观”。当晚&#xff0c;热心观众王先生提供线索。王先生路过杭州阿里巴巴园区时&#xff0c;听到有人呼喊&#xff1a;“快…

Math源码java_深入学习java源码之Math.sin()与 Math.sqrt()

深入学习java源码之Math.sin()与 Math.sqrt()native关键字凡是一种语言&#xff0c;都希望是纯。比如解决某一个方案都喜欢就单单这个语言来写即可。Java平台有个用户和本地C代码进行互操作的API&#xff0c;称为JNInative关键字告诉编译器(其实是JVM)调用的是该方法在外部定义…

路由控制器Express的路由控制方法

MVC中的C控制器 express的路由控制方法&#xff1a;1.创建路由规则 var express require(‘express’); var router express.Router(); /* get home page.*/ router.get(/, function(req,res){ res.render(index, title:express); }); module.exports router; 服务器在开始…

URAL 1146 Maximum Sum(最大子矩阵的和 DP)

Maximum Sum 大意&#xff1a;给你一个n*n的矩阵&#xff0c;求最大的子矩阵的和是多少。 思路&#xff1a;最開始我想的是预处理矩阵&#xff0c;遍历子矩阵的端点&#xff0c;发现复杂度是O(n^4)。就不知道该怎么办了。问了一下&#xff0c;是压缩矩阵&#xff0c;转换成最大…

基于 axios 的 Vue 项目 http 请求优化

对于需要大量使用 http 请求的项目&#xff0c;我们通常会选择对 http 请求的方法进行二次封装&#xff0c;以便增加统一的拦截器&#xff0c;或者统一处理阻止重复提交之类的逻辑。Vue.js 的项目中我们选择使用了 axios 这样一个 http 库&#xff0c;下面也就简述下基于 axios…

Spring 事务配置5种方式

Spring配置文件中关于事务配置总是由三个组成部分&#xff0c;分别是DataSource、TransactionManager和代理机制这三部分&#xff0c;无论哪种配置方式&#xff0c;一般变化的只是代理机制这部分。 DataSource、TransactionManager这两部分只是会根据数据访问方式有所变化&…

java中主线程首先执行_java经典面试题:子线程先运行30次主线程,主线程40次,如此循环50次?...

最近偶遇这道题&#xff0c;网上相似的题都是循环次数不一样。然而我百度搜到的论坛或者博客感觉都不太对&#xff0c;运行有穿插。请给出正确结果。我们假使所有人都引入了业务对象。并且我有疑问&#xff1f;感觉题目本意不是new Thread()放在前面。网上有人做法是用标志位防…

[翻译]Feedback on the Go Challenge solutions

第一次Go Challenge比赛&#xff0c;中国区只有3人参赛。 赛后收到邮件&#xff0c;是一个审阅者的反馈&#xff0c;“Feedback on the Go Challenge solutions”&#xff0c;摘录如下&#xff1a; 保持简单粗暴 一个语义单元一个文件即可&#xff0c;不要像Java那样一个文件就…

黑客宣称掌握了600多万个Instagram账号的信息

据外媒报道&#xff0c;上周早些时候&#xff0c;歌手兼演员赛琳娜戈麦斯因Instagram账号被盗而发出大量来自前男友贾斯汀比伯的裸照。不过当时很快赛琳娜就拿回了对账号的控制权并删掉了这些裸照。就在大家以为这件事情已经平息的时候&#xff0c;Instagram却被曝光了一个极为…

java apache.poi_Java Apache POI

我正在努力从excel文档中读取数据,该文档每两周更新一次,大约有50,000行数据,在开始新工作表之前可能会达到大约120,000.我正在使用Apache POI来获取数据.我在下面得到了这个例外,但我认为最重要的一个例外是引起&#xff1a;java.lang.OutOfMemoryError&#xff1a;Java堆空间…

Hibernate逍遥游记-第2章-使用hibernate.properties

1. 1 package mypack;2 3 import org.hibernate.*;4 import org.hibernate.cfg.Configuration;5 import java.util.*;6 7 public class BusinessService{8 public static SessionFactory sessionFactory;9 10 /** 初始化Hibernate&#xff0c;创建SessionFactory实例 */1…

奇怪吸引子---Aizawa

奇怪吸引子是混沌学的重要组成理论&#xff0c;用于演化过程的终极状态&#xff0c;具有如下特征&#xff1a;终极性、稳定性、吸引性。吸引子是一个数学概念&#xff0c;描写运动的收敛类型。它是指这样的一个集合&#xff0c;当时间趋于无穷大时&#xff0c;在任何一个有界集…

C#打印图片

打印的原理是&#xff1a;生成mdi文件&#xff0c;系统碰到mdi的时候会自动以打印的方式处理。所以&#xff0c;不管用什么模板&#xff0c;什么方式&#xff1b;能在PrintPage事件处理中,生成一张要打印内容的图片就OK了! C#实现打印源码如下&#xff1a; #region 打印 …

mysql 里面不等于符号_mysql 不等于 符号写法

经过测试发现mysql中用<>与!都是可以的&#xff0c;但sqlserver中不识别!,所以建议用<>selece * from jb51 where id<>45sql 里 符号<> 于 ! 的区别<> 与!都是不等于的意思&#xff0c;但是一般都是用<>来代码不等于因为<>在任何SQL…