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数据导入到数据库这个问题一直老是出现格式原因而导入失败也是未免惆怅,开发团队也是只说回去检查一下格式. ...
随机推荐
- Linux进程内存分析和内存泄漏定位
在Linux产品开发过程中,通常需要注意系统内存使用量,和评估单一进程的内存使用情况,便于我们选取合适的机器配置,来部署我们的产品. Linux本身提供了一些工具方便我们达成这些需求,查看进程实时资源 ...
- dubbo环境搭建与tomcat集成、DEMO示例、常见问题(最完整版本、带管理控制台、监控中心、zookeeper)
以windows为例,linux基本相同,开发环境一般linux,个人环境一般windows(如果不开额外vm的话). 示例以dubbo官方自带demo为例子,进行整合和稍加修改测试. 0.dubbo ...
- python之路-day1-if...else...流程判断
判断输入的用户名:#Author:zww _username = "zww" _password = " username = input("username: ...
- phpstorm官方教程
https://confluence.jetbrains.com/pages/viewpage.action?pageId=15801728
- topcoder srm 696 div1 -3
1.给定一个50个节点的无向图,有$m$条边.现在以任意一种序列对每个节点染色.染当前节点的代价为染色完当前节点后满足两个端点都被染色的边的数量.求最小的染色代价.$m \leq 20$ 思路:一个直 ...
- 分块读取Blob字段数据(Oracle)
试过了MSSQL的分块读取Blob字段,又尝试在Oracle下完成,发现还是可行的. 首先建立一个存储过程: create or replace procedure PRO_GET_BLOB( ...
- Linux电源管理_autosleep--(五)【转】
本文转载自:https://blog.csdn.net/wlsfling/article/details/46005409 1. 前言 Autosleep也是从Android wakelocks补丁集 ...
- C#开发者工具网
使用key值[123456]对[50cms]进行对称加密-在线DES对称加密/解密- 开发者工具网 http://tool.sufeinet.com/Encrypt/DesEncrypt.aspx? ...
- 【做题】Codeforces Round #429 (Div. 2) E. On the Bench——组合问题+dp
题目大意是给你n个数,求相邻两数相乘不是完全平方数的排列数. 一开始看到这题的时候,本人便想给相乘为完全平方数的数对建边,然后就写萎了... 后来通过集体智慧发现这个重要性质:对于自然数a,b,c,若 ...
- 集合03_Map
Map集合总览 保存映射关系key-value键值对,键唯一,值可以重复,Map和Set的实现类相似 Entry是Map的内部类 Map接口中常用的方法: void clear() Set keySe ...