java 数据导入xls
@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的更多相关文章
- java 数据导入到exc ,并下载
package com.lizi.admin.controller.platform.excel; import java.util.List;import java.util.Map; import ...
- Java代码实现excel数据导入到Oracle
1.首先需要两个jar包jxl.jar,ojdbc.jar(注意版本,版本不合适会报版本错误)2.代码: Java代码 import java.io.File; import java.io.Fi ...
- Java实现大批量数据导入导出(100W以上) -(二)导出
使用POI或JXLS导出大数据量(百万级)Excel报表常常面临两个问题: 1. 服务器内存溢出: 2. 一次从数据库查询出这么大数据,查询缓慢. 当然也可以分页查询出数据,分别生成多个Excel打包 ...
- java基于xml配置的通用excel单表数据导入组件(五、Action处理类)
package xxxxxx.manage.importexcel; import java.io.File; import java.util.HashMap; import java.util.M ...
- java基于xml配置的通用excel单表数据导入组件(四、DAO主处理类)
package XXXXX.manage.importexcel; import java.beans.IntrospectionException; import java.io.BufferedR ...
- Java实现大批量数据导入导出(100W以上) -(一)导入
最近业务方有一个需求,需要一次导入超过100万数据到系统数据库.可能大家首先会想,这么大的数据,干嘛通过程序去实现导入,为什么不直接通过SQL导入到数据库. 大数据量报表导出请参考:Java实现大批量 ...
- Java中使用Oracle的客户端 load data和sqlldr命令执行数据导入到数据库中
Windows环境下测试代码: import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundExcep ...
- java大批量数据导入(MySQL)
© 版权声明:本文为博主原创文章,转载请注明出处 最近同事碰到大批量数据导入问题,因此也关注了一下.大批量数据导入主要存在两点问题:内存溢出和导入速率慢. 内存溢出:将文件中的数据全部取出放在集合中, ...
- java实现EXCEL数据导入到数据库中的格式问题的解决
之前作为项目甲方,加之java接触不多,在java web开发方面都是打下手的份. 对于EXCEL数据导入到数据库这个问题一直老是出现格式原因而导入失败也是未免惆怅,开发团队也是只说回去检查一下格式. ...
随机推荐
- Java线程同步与锁
一.synchronized synchronized锁什么?锁对象.可能锁对象包括: this, 临界资源对象,Class类对象. 1,同步方法 synchronized T methodName( ...
- SSL/TLS代理(termination proxy)
A TLS termination proxy (or SSL termination proxy) is a proxy server that is used by an institution ...
- linux物理网卡检测命令mii-tool
mii-tool #是用于查看.管理物理的网络接口的状态,还可以配置网卡需要的协商方式. 一 ,查看网卡工作状态 mill-tool [网卡名] #查看物理网卡连接状态 -V 显示版本信息 ...
- Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals) Problem F (Codeforces 831F) - 数论 - 暴力
题目传送门 传送门I 传送门II 传送门III 题目大意 求一个满足$d\sum_{i = 1}^{n} \left \lceil \frac{a_i}{d} \right \rceil - \sum ...
- centos7 update docker
yum erase docker docker-common docker-client docker-compose -y 编辑一个docker镜像源 vim /etc/yum.repos.d/do ...
- 测试浏览器对HTML5标签的支持
使用相应的浏览器打开链接 https://html5test.com/即可在该页面查看到测试结果.
- noip模拟【tea】
tea [题目描述]有n个容量为V的瓶子,第i个瓶子中装着a[i]个单位的tea,使所有瓶子内的tea在不 超过其容量的前提下,非空的瓶子最少.在一个单位时间内,可以同时将多个瓶子中的tea倒入另外多 ...
- s2-045漏洞批量检测工具
今天晚上看老铁们在群里就这个st2-045漏洞讨论得火热,个人不太喜欢日站,本来想直接写个批量挂马的东西,但是想想还是算了,如果你有兴趣,改改也很容易,反正不关我的事 测试图 2017-3-8更新 增 ...
- 图片处理工具类 util
PathUtil package util; public class PathUtil { private static String seperator = System.getProperty( ...
- Asp.Net 之 DropDownList的使用
这里不细说,直接上案例 <td style="width: 30px;" align="right"> 年月: </td> <td ...