后台生成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文档,自定义列的更多相关文章

  1. php用PHPExcel库生成Excel文档的例子

    <?php require_once '../libs/PHPWord/PHPWord.php'; require_once '../libs/PHPWord/PHPWord/IOFactory ...

  2. 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 ...

  3. java生成excel文档

    要做一个后台自动化,要先预先生成一份文档,以下内容生成了文档 首先下载jxl.jar包,下载地址:http://download.csdn.net/detail/prstaxy/4469935 1.生 ...

  4. java、ruby、python、php等如何生成excel文档?

    excel在我们日常工作生活中会经常用到,通常我们都是用office软件去编写文档.但是对于格式一致的excel文档,如果还是使用人工完成,那绝不是我们软件工程师的姿态了~ 下面我就介绍一种方法,不需 ...

  5. Chimm.Excel —— 使用Java 操作 excel 模板文件生成 excel 文档

    Chimm.Excel -- 设置模板,填充数据,就完事儿了~ _____ _ _ _____ _ / __ \ | (_) | ___| | | | / \/ |__ _ _ __ ___ _ __ ...

  6. C# NPOI生成Excel文档(简单样式)

    效果图: 代码:  /// <summary> /// 导出Excel /// </summary> /// <param name="DeptId" ...

  7. C#生成Excel文档(EPPlus)

    1.公式计算 worksheet.Cells["D2:D5"].Formula = "B2*C2";//这是乘法的公式,意思是第二列乘以第三列的值赋值给第四列, ...

  8. 【Java】常用POI生成Excel文档设置打印样式

    package poi_test; import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi ...

  9. Java下使用Apache POI生成具有三级联动下拉列表的Excel文档

    使用Apache POI生成具有三级联动下拉列表的Excel文档: 具体效果图与代码如下文. 先上效果图: 开始贴代码,代码中部分测试数据不影响功能. 第一部分(核心业务处理): 此部分包含几个方面: ...

随机推荐

  1. git bash上传代码到github

    今天,老爷机notebook开始卡了,我决定格盘重装系统. 顺便复习一下git本地命令的使用 1,配置 2先跳过一般的操作.介绍链接github远程库的操作 我的两个钥匙在C:\Users\bond\ ...

  2. Android - AIDL 使用

    AIDL(Android Interface Definition Language) 程序员可以利用AIDL自定义编程接口,在客户端和服务端之间实现进程间通信(IPC).在Android平台上,一个 ...

  3. 用Collections.synchronizedCollection创建线程安全的集合、列表。。。

    Collection c=Collections.synchronizedCollection(new ArrayList()); List list=Collections.synchronized ...

  4. (转)Java compiler level does not match解决方法

    背景:工作中导入以前的项目,导出报Java compiler level does not match the versionof the installed Java project facet. ...

  5. 用java写一个用户登陆界面

    一.课堂测试源代码及其结果截图 用java的swing写一个用户登录界面,采用网格布局.源代码如下: /** * */package LiuLijia; import java.awt.CardLay ...

  6. python3网络编程之socketserver

    本节主要是讲解python3网络编程之socketserver,在上一节中我们讲到了socket.由于socket无法支持多用户和多并发,于是就有了socket server. socket serv ...

  7. Java之IO流补充

    IO流例子 package com.hanqi.maya.util; import java.io.BufferedReader; import java.io.BufferedWriter; imp ...

  8. IntelliJ idea学习资源

    工作需要, 最近得从Eclipse转战到Idea, 找了些不错的学习资料: 1, 从eclipse上迁移过来的用户说明: https://www.jetbrains.com/help/idea/201 ...

  9. ES6 变量、常量声明总结

    较之前ES5,新颁布在声明上有改变 一.var  对比  let 1.作用域不同 let只在命令所在的代码块 {} 里有效 ES5只有全局作用域和函数作用域,没有块级作用域,带来很多不合理的场景,比如 ...

  10. echarts_部分图表配置_dataZoom精确控制显示数据数量

    echarts为我们提供了dataZoom组件,当数据过多时就有了它的用武之地,业务场景:数据返回100调可是为了前端显示效果默认只显示20条,其他数据由dataZoom控制显示隐藏: functio ...