首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
编程语言
> 详细
java 中导出Excel
时间:
2015-11-20 15:18:56
阅读:
172
评论:
0
收藏:
0
[点我收藏+]
标签:
[java]
view plain
copy
package oa.common.utils;
import java.io.OutputStream;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import java.lang.reflect.Field;
import jxl.Workbook;
import jxl.format.Alignment;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.VerticalAlignment;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
/***
* @author lsf
*/
public
class ExportExcel {
/***************************************************************************
* @param fileName EXCEL文件名称
* @param listTitle EXCEL文件第一行列标题集合
* @param listContent EXCEL文件正文数据集合
* @return
*/
public
final
static String exportExcel(String fileName,String[] Title, List<Object> listContent) {
String result=
"系统提示:Excel文件导出成功!";
// 以下开始输出到EXCEL
try {
//定义输出流,以便打开保存对话框______________________begin
HttpServletResponse response=ServletActionContext.getResponse();
OutputStream os = response.getOutputStream();
// 取得输出流
response.reset();
// 清空输出流
response.setHeader(
"Content-disposition",
"attachment; filename="+
new String(fileName.getBytes(
"GB2312"),
"ISO8859-1"));
// 设定输出文件头
response.setContentType(
"application/msexcel");
// 定义输出类型
//定义输出流,以便打开保存对话框_______________________end
/** **********创建工作簿************ */
WritableWorkbook workbook = Workbook.createWorkbook(os);
/** **********创建工作表************ */
WritableSheet sheet = workbook.createSheet(
"Sheet1",
0);
/** **********设置纵横打印(默认为纵打)、打印纸***************** */
jxl.SheetSettings sheetset = sheet.getSettings();
sheetset.setProtected(
false);
/** ************设置单元格字体************** */
WritableFont NormalFont =
new WritableFont(WritableFont.ARIAL,
10);
WritableFont BoldFont =
new WritableFont(WritableFont.ARIAL,
10,WritableFont.BOLD);
/** ************以下设置三种单元格样式,灵活备用************ */
// 用于标题居中
WritableCellFormat wcf_center =
new WritableCellFormat(BoldFont);
wcf_center.setBorder(Border.ALL, BorderLineStyle.THIN);
// 线条
wcf_center.setVerticalAlignment(VerticalAlignment.CENTRE);
// 文字垂直对齐
wcf_center.setAlignment(Alignment.CENTRE);
// 文字水平对齐
wcf_center.setWrap(
false);
// 文字是否换行
// 用于正文居左
WritableCellFormat wcf_left =
new WritableCellFormat(NormalFont);
wcf_left.setBorder(Border.NONE, BorderLineStyle.THIN);
// 线条
wcf_left.setVerticalAlignment(VerticalAlignment.CENTRE);
// 文字垂直对齐
wcf_left.setAlignment(Alignment.LEFT);
// 文字水平对齐
wcf_left.setWrap(
false);
// 文字是否换行
/** ***************以下是EXCEL开头大标题,暂时省略********************* */
//sheet.mergeCells(0, 0, colWidth, 0);
//sheet.addCell(new Label(0, 0, "XX报表", wcf_center));
/** ***************以下是EXCEL第一行列标题********************* */
for (
int i =
0; i < Title.length; i++) {
sheet.addCell(
new Label(i,
0,Title[i],wcf_center));
}
/** ***************以下是EXCEL正文数据********************* */
Field[] fields=
null;
int i=
1;
for(Object obj:listContent){
fields=obj.getClass().getDeclaredFields();
int j=
0;
for(Field v:fields){
v.setAccessible(
true);
Object va=v.get(obj);
if(va==
null){
va=
"";
}
sheet.addCell(
new Label(j, i,va.toString(),wcf_left));
j++;
}
i++;
}
/** **********将以上缓存中的内容写到EXCEL文件中******** */
workbook.write();
/** *********关闭文件************* */
workbook.close();
}
catch (Exception e) {
result=
"系统提示:Excel文件导出失败,原因:"+ e.toString();
System.out.println(result);
e.printStackTrace();
}
return result;
}
}
测试:
* 导出excel
* @return
*/
public String excelPage(){
ExportExcel excel=
new ExportExcel();
String str=
"";
try {
str =
new String(getHTTP.getRequest().getParameter(
"wineOrg.orgName").getBytes(
"iso8859-1"),
"UTF-8");
}
catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
wineOrg.setOrgName(str);
List<Object> li=service.exportExcel(wineOrg);
String[] Title={
"机构ID",
"会员编号",
"类别",
"名称",
"省ID",
"省名称",
"城市ID",
"城市名称",
"详细地址",
"联系人",
"性别",
"联系手机",
"联系电话",
"传真",
"邮箱",
"QQ",
"生日",
"积分",
"客户等级",
"现金账户余额",
"结算方式",
"客户类型",
"购买次数",
"购买支数",
"创建人ID",
"创建人姓名",
"create_time",
"del",
"STS",
"备注",
"负责人ID",
"负责人姓名",
"审核标识",
"审核人ID ",
"审核人姓名",
"审核日期",
"分配人ID",
"分配人姓名",
"分配日期",
"修改人ID",
"修改人姓名 ",
"修改时间"};
excel.exportExcel(
"客户资料信息.xls",Title, li);
return SUCCESS;
}
java 中导出Excel
标签:
原文地址:http://www.cnblogs.com/miss510/p/4980723.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
Spring Cloud 从入门到精通(一)Nacos 服务中心初探
2021-07-29
基础的排序算法
2021-07-29
SpringBoot|常用配置介绍
2021-07-29
关于 .NET 与 JAVA 在 JIT 编译上的一些差异
2021-07-29
C语言常用函数-toupper()将字符转换为大写英文字母函数
2021-07-29
《手把手教你》系列技巧篇(十)-java+ selenium自动化测试-元素定位大法之By class name(详细教程)
2021-07-28
4-1 YAML配置文件 注入 JavaBean中
2021-07-28
【python】 用来将对象持久化的 pickle 模块
2021-07-28
马拉车算法
2021-07-28
用Python进行冒泡排序
2021-07-28
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!