文档章节

Play Framework 1.2.3 (用户导出写入excel)

gavin
 gavin
发布于 2015/07/29 14:14
字数 364
阅读 866
收藏 1

public static void ExportGroupMembers(ObjectId id){

    if(session.get("companyid") == null)

    login();

    

Group group  = Group.findById(id);

Map<String,Member> members = group.members;

List<User> users = null;

String filterUuid = "contact.uuid in";

if(members!=null){

Set<String> set = members.keySet();

users = User.q().filter("contact <> ", null).filter(filterUuid, set).order("-contact.created").asList();

    GenerateFile.generateGroupMember(users,response);

   

   

}else {

showMemberList(String.valueOf(id),null);

}

}


 //导出代码

public static void generateGroupMember(List<User> users, Response response) {

response.contentType = "text/plain";

String fileName = "";

try {

//fileName = new String(Constant.FILE_NAME_EXPORT_TXT_GROUP_MEMBER.getBytes("UTF-8"), "ISO8859-1");


fileName = URLEncoder.encode(Constant.FILE_NAME_EXPORT_TXT_GROUP_MEMBER, "UTF-8");

} catch (UnsupportedEncodingException e1) {

e1.printStackTrace();

}

response.setHeader("Content-Disposition", "attachment; filename="

+ fileName + ".xls");


BufferedOutputStream buff = null;

try {

HSSFWorkbook workbook = new HSSFWorkbook();

HSSFSheet sheet = workbook.createSheet();

   workbook.setSheetName(0,"群组成员信息",(short)1);

   HSSFCellStyle style = workbook.createCellStyle();   

       sheet.setDefaultColumnWidth((short) 14);        

       HSSFFont font = workbook.createFont();

       font.setColor(HSSFColor.BLACK.index);

       font.setFontHeightInPoints((short) 12);

       font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);        

       HSSFRow row = sheet.createRow((short)0); 

buff = new BufferedOutputStream(response.out);

List<UserContactModel> list = new ArrayList<UserContactModel>();

list = getGroupMemberResultMap(users);

//头部字体样式

style.setFont(font);

//头部字体居中

style.setAlignment(HSSFCellStyle.ALIGN_LEFT);

//头部字体颜色

style.setFillForegroundColor((short) 13);

style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);

for (short j = 0; j < Constant.headers.length; j++) {

HSSFCell cell = row.createCell(j);

cell.setEncoding((short) 1);

cell.setCellValue(Constant.headers[j]);

cell.setCellStyle(style);

}  

HSSFCellStyle styleCont = workbook.createCellStyle();  

styleCont.setAlignment(HSSFCellStyle.ALIGN_LEFT);

//输出内容,外循环控制输出行数

for(int i = 0; i < list.size(); i++){

//创建行获取行元素

HSSFRow rowd = sheet.createRow(i+1); 

List<String> datalist = new ArrayList<String>();

datalist.add(list.get(i).getDisplayName());

datalist.add(list.get(i).getPosition());

datalist.add(list.get(i).getImage());

datalist.add(list.get(i).getMobile());

datalist.add(list.get(i).getTel());

datalist.add(list.get(i).getEmils());

datalist.add(list.get(i).getWebsites());

datalist.add(list.get(i).getAddress());

datalist.add(list.get(i).getCompany());

datalist.add(list.get(i).getDepartment());

datalist.add(list.get(i).getIndustry());

datalist.add(list.get(i).getDescription());

datalist.add(list.get(i).getWorkfax());

datalist.add(list.get(i).getPostcode());

//内循环控制每行输出元素

for(short s= 0; s < datalist.size(); s++){

HSSFCell cell = rowd.createCell(s);

cell.setEncoding((short) 1);

cell.setCellValue(datalist.get(s));

cell.setCellStyle(styleCont);

}

}

workbook.write(buff);

buff.flush();

buff.close();

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

buff.flush();

buff.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}


© 著作权归作者所有

gavin
粉丝 13
博文 31
码字总数 19330
作品 0
浦东
私信 提问
比较 Play Framework 2.0 (Scala) 和 1.2.3 (Java) 的性能问题

这是一篇来自 Google Group 上的帖子(原文),讨论的是 Play 两个版本的性能测试,测试的结果让人大跌眼镜,但或许只是个别环境的问题,有兴趣的可以自行测试看看。 下面是帖子翻译的内容:...

红薯
2012/03/17
7.2K
15
Play Framework 1.2.3 发布

Play Framework 框架发布了 1.2.3 版本,下载地址:play-1.2.3.zip 这是一个重要的安全更新版本,Play 在其网站首页的顶部用红色的横幅进行提醒。

红薯
2011/08/25
1K
9
Mantis 1.2.3 发布,BUG管理系统

Mantis 1.2.3 是一个安全补丁版本,建议所有使用 1.2.x 版本的用户应立即升级到这个版本。该版本修复了一些潜在的 XSS 攻,改进了 Excel 导出功能;更新了一些翻译包,修复了 SOAP API、安装...

红薯
2010/09/15
3.5K
0
介绍一款开源的类Excel电子表格软件

Excel一直以霸主的地位,占据了Windows桌面表格软件市场No 1,与此同时,Office套装产品几乎成为了IT行业的标配办公技能。有无类似Excel的桌面程序,绿色版,实现基本的数据编辑功能呢? 假如...

葡萄城技术团队
2014/10/09
5.3K
6
Play Framework 1.2.3 (用户导入支持excel)

public static void importMembers(ObjectId id,String msg){ render(id,msg); } public static void generateMembers(File file,ObjectId id) throws Exception{ if(session.get("companyid......

gavin
2015/07/29
38
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周三乱弹 —— 调查人员问狗 那你在做什么啊?

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 小小编辑推荐:《Let It Be》- John Denver 《Let It Be》- John Denver 手机党少年们想听歌,请使劲儿戳(这里) @FalconChen :每天看一遍,...

小小编辑
今天
6
0
高效程序员的45个习惯总结版-文末脑图

1 做事 一个重大的错误应该被当做一次学习而不是指责他人的机会,团队成员一起工作,应该互相帮助,而不是互相指责 2 欲速则不达 不要为了修复问题而去修复,要投入时间和精力保持代码整洁 ...

阿提说说
今天
18
0
带南海九段线分位数地图可视化(R语言版)

今天带来一篇承诺虾神的可视化博客。内容是使用R语言进行带南海九段线分位数地图可视化。虾神的原博文地址如下(Python版)。 Python实现带南海九段线分位数地图完整可视化版本(附代码及数据...

胖胖雕
今天
12
0
Nginx 的进程结构,你明白吗?

Nginx 进程结构 这篇文章我们来看下 Nginx 的进程结构,Nginx 其实有两种进程结构: 单进程结构 多进程结构 单进程结构实际上不适用于生产环境,只适合我们做开发调试使用。因为在生产环境中...

武培轩
今天
20
0
蓝鲸平台部署

环境 系统:Centos7 依赖包:java8 主机: 10.0.1.150 域名:paas.ops.net;cmdb.ops.net;job.ops.net 生成SSH key ssh-keygen -t rsa -P '' 生成证书 https://bk.tencent.com/download_ssl/......

以谁为师
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部