@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. v-text v-html等指令的使用

    v-text:以纯文本方式显示数据: v-html:可以识别HTML标签: v-once:只渲染元素或组件一次: v-pre:不进行编译,直接显示内容: v-cloak:可以隐藏未编译的 Mustac ...

  2. 3、pandas的loc和iloc数据筛选

    选择列: 选择一列: 选择多列(选择的内容变成list,也就是要两个方括号): 选择一行或多行(loc函数): 选择连续的行(以索引标签为选择参数): 选择非连续的行(以索引标签为选择参数): 选择包 ...

  3. nginx的stream反向代理mysql配置

    这里主要记录一下nginx的负载代理stream模块,首先编译的时候需要加上--with-stream, 就像这样 然后nginx.conf里面的配置是在http选项上面加上 #Mysql Rever ...

  4. Building a Keras + deep learning REST API(三部曲之一)

    一.基本环境 )     image = imagenet_utils.preprocess_input(image)     , ))             ]:                  ...

  5. 20165310 NstSec2019 Week1 Exp0 Kali安装

    20165310 NstSec2019 Week1 Exp0 Kali安装 Kali下载与安装 进入Kali官网 ,进入Download选项,选择Kali Linux 64 bit VMware VM ...

  6. linux中没有tree命令,command not found,解决办法

    在有网络的情况下: 1.包管理器安装 centos 中用  yum -y install tree ubuntu 中用  apt-get install tree 当然如果需要权限不要忘了在前面加上 ...

  7. DOM元素加载之前执行的jQuery代码

    <script type="text/javascript"> (function() { alert("DOM还没加载哦!"); })(jQuer ...

  8. 压测freeswitch--安装sipp

    1.sipp下载 下载链接:https://sourceforge.net/projects/sipp/files/ 此处我们下载sipp3.3为例 2.linux系统下编译sipp 安装sipp 可 ...

  9. upc组队赛1 黑暗意志【stl-map】

    黑暗意志 题目描述 在数千年前潘达利亚从卡利姆多分离之时,迷雾笼罩着这块新形成的大陆,使它不被外来者发现.迷雾同样遮蔽着这片大陆古老邪恶的要塞--雷神的雷电王座.在雷神统治时期,他的要塞就是雷电之王力 ...

  10. 再谈fedora 23中的flash的安装

    安装下载, flash插件的地址是 https://get.adobe.com/flashplayer/ ls 的显示, 记住两个很常用的选项: 指定 "假设的屏幕的宽度" , - ...