excel导出 jxl.jar包
导入jxl.jar包, 代码如下:
package com.gree;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.sql.PreparedStatement;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale; import javax.servlet.ServletOutputStream;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletRequest; import jxl.Workbook;
import jxl.format.Colour;
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 jxl.write.biff.RowsExceededException;
public class CreateExcel { public void createxcel(HttpServletResponse res,HttpServletRequest req) throws Exception{ OutputStream os=null;
WritableWorkbook wwb=null; ConnDB db=new ConnDB();
String str="select * from user";
ArrayList<Student> list=db.getList(str);
try {
java.text.SimpleDateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd");
String today = df.format(new java.util.Date());
String fileName="改模时间报表-"+today;
//System.out.println(fileName);
fileName=new String(fileName.getBytes("gb2312"), "ISO8859_1");
//System.out.println(fileName);
HttpServletResponse response=res;
HttpServletRequest request=req; response.reset();
response.setContentType("APPLICATION/OCTET-STREAM");
if (request.getHeader("User-Agent").indexOf("MSIE 5.5") != -1) { // MS
response.setHeader("Content-Disposition", "filename="+fileName+".xls");
} else {
response.addHeader("Content-Disposition","attachment;filename="+fileName+".xls");
} /**/
os = response.getOutputStream();
wwb = Workbook.createWorkbook(os);
WritableSheet sheet = wwb.createSheet("sheet1", 0);
jxl.write.WritableCell cell = null; WritableFont wf = new WritableFont(WritableFont.ARIAL,12,WritableFont.NO_BOLD,false,
UnderlineStyle.NO_UNDERLINE,Colour.BLUE);
WritableCellFormat formatH = new WritableCellFormat(wf);
formatH.setAlignment(jxl.format.Alignment.CENTRE); cell = new Label(0, 0,"用户表", formatH);
sheet.addCell(cell);
sheet.mergeCells(0,0,14,0); formatH = getFormat("BOLD", 9, Colour.BLACK);
formatH.setAlignment(jxl.format.Alignment.CENTRE);
formatH.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN); WritableCellFormat format = getFormat("NOBOLD", 9, Colour.BLACK);
//format.setAlignment(jxl.format.Alignment.LEFT);
format.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN);
//
cell = new Label(0, 1,"名字", formatH);
sheet.addCell(cell);
cell = new Label(1, 1,"密码", formatH);
sheet.addCell(cell);
cell = new Label(2, 1,"最后登录时间", formatH);
sheet.addCell(cell); /**/ for(int i=0;i<list.size();i++){ cell = new Label(0, i+2, list.get(i).getName(), format);
sheet.addCell(cell);
cell = new Label(1, i+2, list.get(i).getPassword(), format);
sheet.addCell(cell);
cell = new Label(2, i+2, list.get(i).getLastlogintime(), format);
sheet.addCell(cell); sheet.setColumnView(0,10);
sheet.setColumnView(1,20);
sheet.setColumnView(2,20); } wwb.write(); wwb.close();
os.close();
response.setStatus(response.SC_OK);
response.flushBuffer();
} catch (RowsExceededException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (WriteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } WritableCellFormat getFormat(String style, int size, Colour color)
{
WritableFont wfc = null;
if("BOLD".equals(style))
wfc = new WritableFont(WritableFont.ARIAL, size, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, color);
else
if("NOBOLD".equals(style))
wfc = new WritableFont(WritableFont.ARIAL, size, WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE, color);
return new WritableCellFormat(wfc);
} }
index.jsp中代码如下,创建该对象并 调用createxcel方法导出excel表格
<%
int opt; if(request.getParameter("opt")==null) opt=0; else opt=Integer.parseInt(request.getParameter("opt"));
if(opt==1){ CreateExcel excel=new CreateExcel();
excel.createxcel(response, request); }
else{ %> <a href="index.jsp?opt=1">导出excel表格</a>
<a href="importexcel.jsp">导入excel表格</a>
<%} } %>
excel导出 jxl.jar包的更多相关文章
- Java使用jxl.jar包写Excel文件的最适合列宽问题基本实现
以前用jxl.jar包,读写过Excel文件.也没有注意最适合列宽的问题,但是jxl.jar没有提供最适合列宽的功能,上次用到写了一下,可以基本实现最适合列宽. 注意,这个只是基本可以实现,基本针对中 ...
- Excel文件按照指定模板导入数据(用jxl.jar包)
本文中的方法只适合Excel2003,要读取Excel2007最好使用poi.jar,据说poi.jar还在更新,jxl.jar已经不更新了,处理Excel文件的读写问题最好还是学习poi.j ...
- idea中如何将单个java类导出为jar包文件?
idea作为一个java开发的便利IDE工具,个人是比较喜欢的,今天来探索个小功能: 导出单个类文件为jar包! 偶有这种需求,就是某个类文件独立存在,但是需要将其导出为jar,供别人临时使用,或者 ...
- Java项目导出为jar包+导出第三方jar包+使用命令行调用+传参
Java项目导出为jar包+导出第三方jar包+使用命令行调用+传参 一.打包 情况1:不需要向程序传参数,并且程序没有使用第三方jar包 Eclipse上导出jar: 然后选择一个java文件作为入 ...
- 关于IDEA导出项目jar包/runnable jar
将项目导出为jar包分为 runnable jar 与 普通jar包 一.导出为普通jar包 该jar包中只有项目源代码, java -cp wordcount.jar 用来运行普通jar包 1.打开 ...
- 使用poi导出Excel表格,jar包冲突
HTTP Status 500 – Internal Server Error Type Exception Report Message Handler processing failed; nes ...
- 在Intellij IDEA中使用Maven的方式将项目导出为jar包
前言:由于项目使用maven管理方式,所以在未发布版本的时候,就需要将项目打成jar包,供本地调试使用.注意在使用本地jar包的时候,需要将pom文件中相关jar包的依赖屏蔽,再将jar包加入项目中. ...
- Eclipse 导出的jar包 , 使用后提示重复定义?
导出jar包时,一般会指定一个路径,导出的完整jar包就会自动放到那个指定路径里. 后来我发现那个指定路径的jar包比bin文件夹里面的jar包大,于是就用bin文件夹里面的jar包代替来试试,果然不 ...
- maven子项目导出成jar包及运行
第一步:选这idea右侧栏的maven projects 第二步:选中需要打包成jar包的项目下的lifecycle 第三步:选中package 第四步:点击开始导出 第五步:使用winRAR打开ja ...
随机推荐
- GROUP BY子句的查询中显示COUNT()为0的结果
含有GROUP BY子句的查询中如何显示COUNT()为0的结果 在SQL Server数据库查询中,为了对查询结果进行对比.分析,我们经常会用到GROUP BY子句以及COUNT()函数来对查询结果 ...
- nodejs安装教程
http://www.runoob.com/nodejs/nodejs-install-setup.html nodejs官方下载,之后配置环境path,npm随着nodejs安装,自动安装 查看no ...
- 思维导图工具 & 原型设计工具
最近需要画出系统流程架构什么的,就用到了几个思维导图工具 1. XMind -- 思维导图工具 2. MindManager -- 思维导图工具 3. AXURE RP --原型设计工具
- Eval的格式,主要看大括号的格式,其他不用那样写
原文发布时间为:2009-08-26 -- 来源于本人的百度文章 [由搬家工具导入] 使用范例:<%#Eval("date","{0:d}") %> ...
- Atcoder CODE FESTIVAL 2017 qual C D - Yet Another Palindrome Partitioning 回文串划分
题目链接 题意 给定一个字符串(长度\(\leq 2e5\)),将其划分成尽量少的段,使得每段内重新排列后可以成为一个回文串. 题解 分析 每段内重新排列后是一个回文串\(\rightarrow\)该 ...
- Linux signal 那些事儿 (3)【转】
转自:http://blog.chinaunix.net/uid-24774106-id-4065797.html 这篇博客,想集中在signal 与线程的关系上,顺带介绍内核signal相关的结构. ...
- 当一个窗体上有PageControl 控件时,是先执行 FormShow呢,还是先执行PageControl 的 TabSheet2Show呢
答案是 先执行 TabSheet2Show ,总算知道了,顺便推理 Onshow事件的执行顺序是 从内到外,先执行容器内的控件的事件,再执行 窗体的事件
- 转载——分享一个html+js+ashx+easyui+ado.net权限管理系统
EasyUI.权限管理 这是个都快被搞烂了的组合,但是easyui的确好用,权限管理在项目中的确实用.一直以来博客园里也不少朋友分享过,但是感觉好的要不没源码,要不就是过度设计写的太复杂看不懂,也懒得 ...
- AC日记——仙岛求药 openjude 2727
仙岛求药 思路: bfs: 来,上代码: #include <cstdio> #include <cstring> #include <iostream> #inc ...
- sql_mode引发的数据库问题
前几天,在本地做完项目,测试完毕后,上传到线上服务器的时候,在做很多写入数据库的操作时,发现全部发生500报错,返回的报错信息是,某个字段没有默认值,写入的时候没有添加这个字段,该字段在数据表中是NO ...