代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
导出Excel通用方法
作者:
刘石法
/ 发布于
2012/10/22
/
692
<div>package oa.common.utils;</div> import java.io.OutputStream;</div> import java.util.List;</div> import javax.servlet.http.HttpServletResponse;</div> import org.apache.struts2.ServletActionContext;</div> import java.lang.reflect.Field;</div> <div></div> import jxl.Workbook;</div> import jxl.format.Alignment;</div> import jxl.format.Border;</div> import jxl.format.BorderLineStyle;</div> import jxl.format.VerticalAlignment;</div> import jxl.write.Label;</div> import jxl.write.WritableCellFormat;</div> import jxl.write.WritableFont;</div> import jxl.write.WritableSheet;</div> import jxl.write.WritableWorkbook;</div> <div>/***</div> <div>* @author lsf</div> <div>*/</div> <div>public class ExportExcel {</div> <div>/***************************************************************************</div> <div> * @param fileName EXCEL文件名称</div> <div> * @param listTitle EXCEL文件第一行列标题集合</div> <div> * @param listContent EXCEL文件正文数据集合</div> <div> * @return</div> <div> */</div> <div>public final static String exportExcel(String fileName,String[] Title, List<Object> listContent) {</div> <div> String result="系统提示:Excel文件导出成功!"; </div> <div> // 以下开始输出到EXCEL</div> <div> try { </div> <div> //定义输出流,以便打开保存对话框______________________begin</div> <div> HttpServletResponse response=ServletActionContext.getResponse();</div> <div> OutputStream os = response.getOutputStream();// 取得输出流 </div> <div> response.reset();// 清空输出流 </div> <div> response.setHeader("Content-disposition", "attachment; filename="+ new String(fileName.getBytes("GB2312"),"ISO8859-1"));</div> <div>// 设定输出文件头 </div> <div> response.setContentType("application/msexcel");// 定义输出类型 </div> <div> //定义输出流,以便打开保存对话框_______________________end</div> <div></div> <div> /** **********创建工作簿************ */</div> <div> WritableWorkbook workbook = Workbook.createWorkbook(os);</div> <div></div> <div> /** **********创建工作表************ */</div> <div></div> <div> WritableSheet sheet = workbook.createSheet("Sheet1", 0);</div> <div></div> <div> /** **********设置纵横打印(默认为纵打)、打印纸***************** */</div> <div> jxl.SheetSettings sheetset = sheet.getSettings();</div> <div> sheetset.setProtected(false);</div> <div></div> <div></div> <div> /** ************设置单元格字体************** */</div> <div> WritableFont NormalFont = new WritableFont(WritableFont.ARIAL, 10);</div> <div> WritableFont BoldFont = new WritableFont(WritableFont.ARIAL, 10,WritableFont.BOLD);</div> <div></div> <div> /** ************以下设置三种单元格样式,灵活备用************ */</div> <div> // 用于标题居中</div> <div> WritableCellFormat wcf_center = new WritableCellFormat(BoldFont);</div> <div> wcf_center.setBorder(Border.ALL, BorderLineStyle.THIN); // 线条</div> <div> wcf_center.setVerticalAlignment(VerticalAlignment.CENTRE); // 文字垂直对齐</div> <div> wcf_center.setAlignment(Alignment.CENTRE); // 文字水平对齐</div> <div> wcf_center.setWrap(false); // 文字是否换行</div> <div> </div> <div> // 用于正文居左</div> <div> WritableCellFormat wcf_left = new WritableCellFormat(NormalFont);</div> <div> wcf_left.setBorder(Border.NONE, BorderLineStyle.THIN); // 线条</div> <div> wcf_left.setVerticalAlignment(VerticalAlignment.CENTRE); // 文字垂直对齐</div> <div> wcf_left.setAlignment(Alignment.LEFT); // 文字水平对齐</div> <div> wcf_left.setWrap(false); // 文字是否换行 </div> <div></div> <div></div> <div> /** ***************以下是EXCEL开头大标题,暂时省略********************* */</div> <div> //sheet.mergeCells(0, 0, colWidth, 0);</div> <div> //sheet.addCell(new Label(0, 0, "XX报表", wcf_center));</div> <div> /** ***************以下是EXCEL第一行列标题********************* */</div> <div> for (int i = 0; i < Title.length; i++) {</div> <div> sheet.addCell(new Label(i, 0,Title[i],wcf_center));</div> <div> } </div> <div> /** ***************以下是EXCEL正文数据********************* */</div> <div> Field[] fields=null;</div> <div> int i=1;</div> <div> for(Object obj:listContent){</div> <div><span class="Apple-tab-span" style="white-space:pre"> </span> fields=obj.getClass().getDeclaredFields();</div> <div><span class="Apple-tab-span" style="white-space:pre"> </span> int j=0;</div> <div><span class="Apple-tab-span" style="white-space:pre"> </span> for(Field v:fields){</div> <div><span class="Apple-tab-span" style="white-space:pre"> </span> v.setAccessible(true);</div> <div><span class="Apple-tab-span" style="white-space:pre"> </span> Object va=v.get(obj);</div> <div><span class="Apple-tab-span" style="white-space:pre"> </span> if(va==null){</div> <div><span class="Apple-tab-span" style="white-space:pre"> </span> va="";</div> <div><span class="Apple-tab-span" style="white-space:pre"> </span> } <div><span class="Apple-tab-span" style="white-space:pre"> </span> sheet.addCell(new Label(j, i,va.toString(),wcf_left));</div> <div><span class="Apple-tab-span" style="white-space:pre"> </span> j++;</div> <div><span class="Apple-tab-span" style="white-space:pre"> </span> } <div><span class="Apple-tab-span" style="white-space:pre"> </span> i++;</div> <div> } <div> /** **********将以上缓存中的内容写到EXCEL文件中******** */</div> <div> workbook.write();</div> <div> /** *********关闭文件************* */</div> <div> workbook.close(); </div> <div></div> <div> } catch (Exception e) {</div> <div> result="系统提示:Excel文件导出失败,原因:"+ e.toString();</div> <div> System.out.println(result);</div> <div> e.printStackTrace();</div> <div> } <div> return result;</div> <div>} <div>}
试试其它关键字
导出Excel通用方法
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
刘石法
贡献的其它代码
(
3
)
.
封装的基类Springjdbc
.
导出Excel通用方法
.
汉字转拼音以及得到首字母通用方法
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3