后台生成EXCEL文档,自定义列
后台生成EXCEL文档,自定义列
//response输出流处理
//设置编码、类型、文件名
getResponse().reset();
getResponse().setCharacterEncoding("utf-8");
getResponse().setContentType("application/vnd.ms-excel");
String useragent = getRequest().getHeader("user-agent");
String disposition = DownloadFilenameUtil.fileDisposition(useragent, "oralInput.xls");
getResponse().setHeader("Content-Disposition", disposition);
WritableWorkbook wwb = Workbook.createWorkbook( getResponse().getOutputStream() );
List<String> fieldList = new ArrayList<String>();
WritableSheet sheet1 = wwb.createSheet("已发送面试通知的人员", 0);
//头三行固定为 序号 工号 姓名
int i=0;
int j=0;
//序号批注设置为信息类guid 后续导入时使用该批注确定修改的信息类类型
sheet1.addCell(new Label(i++,j,"序号"));
fieldList.add("xh");
sheet1.addCell(generateTheadLabel(i++,j,"*体检序号"));
fieldList.add("tjxh");
sheet1.addCell(generateTheadLabel(i++,j,"招聘年度"));
fieldList.add("zpnd");
sheet1.addCell(generateTheadLabel(i++,j,"批次名称"));
fieldList.add("pcmc");
sheet1.addCell(generateTheadLabel(i++,j,"姓名"));
fieldList.add("xm");
sheet1.addCell(generateTheadLabel(i++,j,"应聘部门"));
fieldList.add("ypbm");
sheet1.addCell(generateTheadLabel(i++,j,"编制类别"));
fieldList.add("bzlb");
sheet1.addCell(generateTheadLabel(i++,j,"应聘岗位"));
fieldList.add("ypgw");
sheet1.addCell(generateTheadLabel(i++,j,"体检时间"));
fieldList.add("tjsj");
sheet1.addCell(generateTheadLabel(i++,j,"*体检结果"));
fieldList.add("tjcj");
sheet1.addCell(generateTheadLabel(i++,j,"备注"));
fieldList.add("bz");
j++;
for (PostApply user : pageList) {
i=0;
sheet1.addCell(new Label(i++,j,j+""));//序号
sheet1.addCell(new Label(i++,j,user.getPhyeNo()));//体检序号
sheet1.addCell(new Label(i++,j,user.getPostRelease().getRecruitYear()));//招聘年度
sheet1.addCell(new Label(i++,j,user.getPostRelease().getBatch()));//批次名称
sheet1.addCell(new Label(i++,j,user.getResume().getFullName()));//姓名
sheet1.addCell(new Label(i++,j,user.getPost().getPlan().getDeptValue()));//应聘部门
sheet1.addCell(new Label(i++,j,user.getPost().getPlan().getTypeValue()));//编制类别
sheet1.addCell(new Label(i++,j,user.getPost().getPostNameValue()));//应聘岗位
if (user.getPhyeTime() == null) {
sheet1.addCell(new Label(i++,j,""));//体检时间
} else {
sheet1.addCell(new Label(i++,j,TimeUtil.getDataTime(user.getPhyeTime().getTime(), "yyyy-MM-dd HH:mm")));//体检时间
}
sheet1.addCell(new Label(i++,j,CodeUtil.getItemValue(ICodeConstants.DM_XB_TJJG, user.getPhyeResult())));//体检结果
sheet1.addCell(new Label(i++,j,user.getPhyeRemark()));//备注
j++;
}
i=0;
for (String field : fieldList) {
WritableCellFeatures wcf = new WritableCellFeatures();
wcf.setComment(field);
sheet1.getWritableCell(i++, 0).setCellFeatures(wcf);
}
wwb.write();
wwb.close();
后台生成EXCEL文档,自定义列的更多相关文章
- php用PHPExcel库生成Excel文档的例子
<?php require_once '../libs/PHPWord/PHPWord.php'; require_once '../libs/PHPWord/PHPWord/IOFactory ...
- NPOI 2.1.1 系列(2) 使用NPOI读取List或者datatable数据生成 Excel文档 ;Npoi生成 xlsx 2007以上文档
结合上一篇文章 NPOI 2.1.1 系列(1) 使用NPOI读取 Excel文档 ;NpoiExcelHelper 导入导出 2003格式 2007格式的 Excel; Npoi 导出 xlsx ...
- java生成excel文档
要做一个后台自动化,要先预先生成一份文档,以下内容生成了文档 首先下载jxl.jar包,下载地址:http://download.csdn.net/detail/prstaxy/4469935 1.生 ...
- java、ruby、python、php等如何生成excel文档?
excel在我们日常工作生活中会经常用到,通常我们都是用office软件去编写文档.但是对于格式一致的excel文档,如果还是使用人工完成,那绝不是我们软件工程师的姿态了~ 下面我就介绍一种方法,不需 ...
- Chimm.Excel —— 使用Java 操作 excel 模板文件生成 excel 文档
Chimm.Excel -- 设置模板,填充数据,就完事儿了~ _____ _ _ _____ _ / __ \ | (_) | ___| | | | / \/ |__ _ _ __ ___ _ __ ...
- C# NPOI生成Excel文档(简单样式)
效果图: 代码: /// <summary> /// 导出Excel /// </summary> /// <param name="DeptId" ...
- C#生成Excel文档(EPPlus)
1.公式计算 worksheet.Cells["D2:D5"].Formula = "B2*C2";//这是乘法的公式,意思是第二列乘以第三列的值赋值给第四列, ...
- 【Java】常用POI生成Excel文档设置打印样式
package poi_test; import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi ...
- Java下使用Apache POI生成具有三级联动下拉列表的Excel文档
使用Apache POI生成具有三级联动下拉列表的Excel文档: 具体效果图与代码如下文. 先上效果图: 开始贴代码,代码中部分测试数据不影响功能. 第一部分(核心业务处理): 此部分包含几个方面: ...
随机推荐
- 【微信小程序】wx.openLocation调取失败
在调取地图的时候发现,wx.openLocation的方法在模拟器和安卓手机上都可以用,在苹果手机上报错. 报错为调取失败:fail invoke too frequently ...
- 第一篇:webservice初探
接触webservice也有一段时间了,为了查缺补漏,把知识点系统化,准备写几篇博文梳理下webservice的知识点,这是第一篇,对webservice进行大致的介绍. 1.什么是webservic ...
- Docker进阶使用1
容器间共享文件 Docker 的容器和外部环境是相对隔离的,并且容器是一次性的,运行结束后并不会有任何的持久化的文件或者数据.所以当我们需要做应用数据的持久化,或者保留应用的日志文件时,我们需要用到 ...
- Objective-C 自定义UISlider滑杆 分段样式
效果 自定义一个功能简单的分段的滑杆 可显示分段名 为了显示效果,我们将滑块和节点都设置为不规则 这里只实现了分段的slider,未分段的没有实现,有兴趣的可以定义另一种类型做个判断修改下 需求分析 ...
- 奇葩app大盘点,你知道几个
1.I'm Rich 这个App最奇葩.不仅奇葩,还无聊.炫富.浮夸,曾经荣耀一时的"劳资是土豪"应用,售价999.99美元,功能和它的简介一样粗暴,999美元买来的红钻石就是土豪 ...
- maven快速上手
1.maven安装 首先下载apache-maven-3.3.3-bin.zip(版本可以自己根据自己想要的下载). 解压后如下: 接下来配置系统环境变量: 到此,maven安装好了,接下来输入 ...
- mysql 5.7 root密码重置(centos 7)
mysql5.7版本之后,与mariadb不同,在安装之后,在启动之时,会进行自动随机密码的设定,所以在systemctl start mysqld之后,会出现mysql -uroot -p无法登陆的 ...
- Ajax 基本使用的四大步骤,简单易懂
ajax(异步javascript xml) 能够刷新局部网页数据而不是重新加载整个网页.接下来通过本文给大家介绍Ajax的使用四大步骤,非常不错,感兴趣的朋友看下吧 什么是ajax? ajax(异步 ...
- Android Binder机制详解:手写IPC通信
想要掌握一样东西,最好的方式就是阅读理解它的源码.想要掌握Android Binder,最好的方式就是写一个AIDL文件,然后查看其生成的代码.本文的思路也是来自于此. 简介 Binder是Andro ...
- Python操作文件和目录
Python操作文件和目录 读写文件比较简单,有一点特别注意就好了 windows下Python默认打开的文件以gbk解码,而一般我们的文件是utf-8编码的,所以如果文本含有中文,就会出现异常或者乱 ...