@RequestMapping("admin/doorDesign/getexcel.do")
public void getExcel(String name,String phone,Integer status,String start_time,String end_time,HttpServletRequest req, HttpServletResponse rsp)
throws Exception {
OutputStream ouputStream = null;
try{
DoorDesignEntity doorDesign =new DoorDesignEntity();
if(phone !=null && phone != "")
{
doorDesign.setPhone(phone);
}
if(name != "" && name !=null )
{
doorDesign.setName(name);
}
if(status !=null && status !=-1)
{
doorDesign.setStatus(status);
}
if(start_time !=null && start_time != "")
{
doorDesign.setStart_time(start_time);
}
if(end_time !=null && end_time != "")
{
doorDesign.getEnd_time();
}
List<DoorDesignEntity> list =doorDao.getlist(doorDesign);
// 获取总列数

int CountColumnNum = list.size();
// 创建Excel文档
HSSFWorkbook hwb = new HSSFWorkbook();
DoorDesignEntity doorDesignEntity=null;
// sheet 对应一个工作页
HSSFSheet sheet = hwb.createSheet("上门设计预约列表");
// api 段信息 Set the width (in units of 1/256th of a character width)
sheet.setColumnWidth((short) 1, (short) 4000);
sheet.setColumnWidth((short) 2, (short) 5000);
sheet.setColumnWidth((short) 3, (short) 5000);
sheet.setColumnWidth((short) 4, (short) 5000);
sheet.setColumnWidth((short) 5, (short) 5000);
sheet.setColumnWidth((short) 6, (short) 5000);
sheet.setColumnWidth((short) 7, (short) 5000);
HSSFRow firstrow = sheet.createRow(0); // 下标为0的行开始
HSSFCell[] firstcell = new HSSFCell[7];
String[] names = new String[7];
names[0]="编号";
names[1]="手机号码";
names[2]="姓名";
names[3]="地址";
names[4]="表单状态";
names[5]="处理时间";
names[6]="提交时间";
for (short j = 0; j < 7; j++) {
firstcell[j] = firstrow.createCell(j);
firstcell[j].setCellValue(new HSSFRichTextString(names[j]));
}
for (int i = 0; i < list.size(); i++) {
// 创建一行
HSSFRow row = sheet.createRow(i + 1);
// 得到要插入的每一条记录
doorDesignEntity = list.get(i);
//for (short colu = 0; colu <5; colu++) {
// 在一行内循环
HSSFCell xh = row.createCell((short) 0);
xh.setCellValue(i+1);
HSSFCell xm = row.createCell((short) 1);
xm.setCellValue(new HSSFRichTextString(doorDesignEntity.getPhone()));
HSSFCell yxsmc= row.createCell((short) 2);
yxsmc.setCellValue(new HSSFRichTextString(doorDesignEntity.getName()));
HSSFCell xkl1= row.createCell((short) 3);
xkl1.setCellValue(new HSSFRichTextString(doorDesignEntity.getProvince()+","+doorDesignEntity.getCity()));
HSSFCell xkl= row.createCell((short) 4);
xkl.setCellValue(new HSSFRichTextString(getstatus(doorDesignEntity.getStatus())));
HSSFCell cj= row.createCell((short)5);
cj.setCellValue(new HSSFRichTextString(doorDesignEntity.getChuliTime()));
HSSFCell cjd= row.createCell((short)6);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
cjd.setCellValue(new HSSFRichTextString(sdf.format(doorDesignEntity.getAddtime())));
//}
}
rsp.setContentType("applicationnd.ms-excel");
rsp.setHeader("Content-disposition", "attachment;filename=" + new String(( "上门设计预约列表").getBytes("gb2312"), "iso8859-1")
+ ".xls");
ouputStream = rsp.getOutputStream();
hwb.write(ouputStream);
ouputStream.flush();
ouputStream.close();

} catch (Exception e) {
// TODO: handle exception
try {
ouputStream.flush();
ouputStream.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

}

}
public String getstatus(Integer status){
String s="";
switch(status){
case 0 : s="未处理"; break;
case 1: s="已处理"; break;
}
return s;}
}

java 数据导入xls的更多相关文章

  1. java 数据导入到exc ,并下载

    package com.lizi.admin.controller.platform.excel; import java.util.List;import java.util.Map; import ...

  2. Java代码实现excel数据导入到Oracle

    1.首先需要两个jar包jxl.jar,ojdbc.jar(注意版本,版本不合适会报版本错误)2.代码: Java代码   import java.io.File; import java.io.Fi ...

  3. Java实现大批量数据导入导出(100W以上) -(二)导出

    使用POI或JXLS导出大数据量(百万级)Excel报表常常面临两个问题: 1. 服务器内存溢出: 2. 一次从数据库查询出这么大数据,查询缓慢. 当然也可以分页查询出数据,分别生成多个Excel打包 ...

  4. java基于xml配置的通用excel单表数据导入组件(五、Action处理类)

    package xxxxxx.manage.importexcel; import java.io.File; import java.util.HashMap; import java.util.M ...

  5. java基于xml配置的通用excel单表数据导入组件(四、DAO主处理类)

    package XXXXX.manage.importexcel; import java.beans.IntrospectionException; import java.io.BufferedR ...

  6. Java实现大批量数据导入导出(100W以上) -(一)导入

    最近业务方有一个需求,需要一次导入超过100万数据到系统数据库.可能大家首先会想,这么大的数据,干嘛通过程序去实现导入,为什么不直接通过SQL导入到数据库. 大数据量报表导出请参考:Java实现大批量 ...

  7. Java中使用Oracle的客户端 load data和sqlldr命令执行数据导入到数据库中

    Windows环境下测试代码: import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundExcep ...

  8. java大批量数据导入(MySQL)

    © 版权声明:本文为博主原创文章,转载请注明出处 最近同事碰到大批量数据导入问题,因此也关注了一下.大批量数据导入主要存在两点问题:内存溢出和导入速率慢. 内存溢出:将文件中的数据全部取出放在集合中, ...

  9. java实现EXCEL数据导入到数据库中的格式问题的解决

    之前作为项目甲方,加之java接触不多,在java web开发方面都是打下手的份. 对于EXCEL数据导入到数据库这个问题一直老是出现格式原因而导入失败也是未免惆怅,开发团队也是只说回去检查一下格式. ...

随机推荐

  1. 09:vuex组件间通信

    1.1 vuex简介 官网:https://vuex.vuejs.org/zh/guide/ 参考博客:https://www.cnblogs.com/first-time/p/6815036.htm ...

  2. oracle安全应用角色例子

    今天在做看OCP的时候有道题是关于应用安全角色的,不是很明白,在网上找了个例子按照步骤验证了下.QUESTION 48You want to create a role to meet these r ...

  3. metasploit(MSF)对windows的ms17-010漏洞利用

    picture 配置exploit msf > use exploit/windows/smb/ms17_010_eternalblue msf exploit(windows/smb/ms17 ...

  4. ARM 架构、ARM7、ARM9、STM32、Cortex M3 M4 、51、AVR 之间有什么区别和联系?(转载自知乎)

    ARM架构:  由英国ARM公司设计的一系列32位的RISC微处理器架构总称,现有ARMv1~ARMv8种类. ARM7:       一类采用ARMv3或ARMv4架构的,使用冯诺依曼结构的内核. ...

  5. Stanford CS231n实践笔记(课时14卷积神经网络详解 上)

    本课我们主要来研究一个"浏览器中的卷积神经网络" 这只是一个展示项目,但是能够帮助直观地看到一些东西 地址:https://cs.stanford.edu/people/karpa ...

  6. 做了一道cf水题

    被一道cf水题卡了半天的时间,主要原因时自己不熟悉c++stl库的函数,本来一个可以用库解决的问题,我用c语言模拟了那个函数半天,结果还超时了. 题意大概就是,给定n个数,查询k次,每次查询过后,输出 ...

  7. and与or的用法

    #1.判断下列语句的True和False # 1)1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 结果为T ...

  8. 【做题】CF388D. Fox and Perfect Sets——线性基&数位dp

    原文链接https://www.cnblogs.com/cly-none/p/9711279.html 题意:求有多少个非空集合\(S \subset N\)满足,\(\forall a,b \in ...

  9. ComponentOne 2017 V1 发布

    在刚刚庆祝完Visual Studio20周年之后,我们迎来了ComponentOne 2017年第一个重要的版本. ComponentOne Studio与Visual Studio 2017配合发 ...

  10. HDU 2612 Find a way(找条路)

    HDU 2612 Find a way(找条路) 00 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)   Problem  ...