后台生成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文档: 具体效果图与代码如下文. 先上效果图: 开始贴代码,代码中部分测试数据不影响功能. 第一部分(核心业务处理): 此部分包含几个方面: ...
随机推荐
- TCP传输协议使用
TCP传输协议,也称之为套接字连接,比较安全,三次握手!,必须确保对方计算机存在,才能连接,而且是长时间连接. 缺点是传输速度有点慢. 你用 socket 去连接 ServiceSocaket 服务器 ...
- C#获取当前时间详解
[转]C#获取当前日期时间(转) http://blog.163.com/ljq086@126/blog/static/549639712010112921658843/ 我们可以通过使用DataT ...
- 中国(北方)大学生程序设计训练赛(第二周) (A B D G)
比赛链接 A题是KMP,先把A拼接到B的后面,然后利用next数组的意义(包括其具体含义,以及失配时的应用),得到ans #include<bits/stdc++.h> using nam ...
- 回味Python2.7——笔记1
一.基本知识 1.一个值可以同时赋给几个变量: >>> x = y = z = 0 # Zero x, y and z >>> x 0 >>> y ...
- ubuntu上安装apache2+mysql+php5-fpm(PHP5 - FastCGI Process Manager)
1: 安装mysql apt-get install mysql-server mysql-client 安装过程中会被问到设置mysql root的密码 New password for t ...
- JavaSE中线程与并行API框架学习笔记——线程为什么会不安全?
前言:休整一个多月之后,终于开始投简历了.这段时间休息了一阵子,又病了几天,真正用来复习准备的时间其实并不多.说实话,心里不是非常有底气. 这可能是学生时代遗留的思维惯性--总想着做好万全准备才去做事 ...
- css实现接地气的checkbox框
1.前言 我做的项目中,很少默认用原生的样式,甚至连下拉框都很少用select框,不过,原生也有原生的好处,来得快,没有什么大问题.如果是自己用html+css去拼接的话,样式会好看一点.不过应人而异 ...
- 【viewport】移动设备的兼容性问题
前段时间用微信开发者工具重构一个菜单项目的时候发现iphoneSE显示不全以及布局错乱的问题,找到了一个简单粗暴的解决方法. 移动设备上的viewport分为layout viewport ...
- NYOJ 252 01串(斐波那契数列变形)
01串 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 ACM的zyc在研究01串,他知道某一01串的长度,但他想知道不含有“11”子串的这种长度的01串共有多少个, ...
- mybatis 详解(十)------ 逆向工程
通过前面的学习,在实际开发中,我们基本上能对mybatis应用自如了,但是我们发现了一个问题,所有操作都是围绕着po类,xxxMapper.xml文件,xxxMapper接口等文件来进行的.如果实际开 ...