/**
* 导出 用get请求
* @param response
* @param
* @throws IOException
*/
@RequestMapping(value = "/download")
public void download(HttpServletResponse response,HttpServletRequest request) throws IOException { int quality = UtilReq.parseInt(request.getParameter("quality"), -1);
String status = UtilReq.parseString(request.getParameter("status"),"");
String mobile = UtilReq.parseString(request.getParameter("mobile"),"");
long agentUid = UtilReq.parseLong(request.getParameter("agentUid"),0l);
HSSFWorkbook workbook = aritstService.download(quality,status,mobile,agentUid); //设置要导出的文件的名字
String fileName="";
Date now = new Date(); fileName = "艺人数据" + UtilDate.formatDate2Str(now,"yyyy年MM月dd日HH时mm分ss秒") + ".xls"; fileName = new String(fileName.getBytes("gbk"), "iso-8859-1");
response.setContentType("application/octet-stream");
response.setHeader("Content-disposition", "attachment;filename=" + fileName);
response.flushBuffer();
workbook.write(response.getOutputStream());
}
 /**
* 导出
* @param quality
* @param status
* @param mobile
* @param agentUid
* @return
*/
public HSSFWorkbook download(int quality, String status, String mobile, long agentUid) {
//创建
HSSFWorkbook wb = new HSSFWorkbook();
//headers表示excel表中第一行的表头
String[] headers = {"姓名","邀请码","所属经纪人","经纪人手机号", "总收入金额", "接单数", "成单数","满意度","优质艺人"};
//创建一个只有头信息的空表
HSSFSheet sheet = null;
sheet = wb.createSheet("艺人数据"); //headers表示excel表中第一行的表头
HSSFRow row = sheet.createRow(0); //在excel表中添加表头
for(int i=0;i<headers.length;i++){
HSSFCell cell = row.createCell(i);
HSSFRichTextString text = new HSSFRichTextString(headers[i]);
cell.setCellValue(text);
} //查询艺人列表,根据筛选条件
List<Integer> statusList = null;
if ("".equals(status)){
status = "1,2";
}
if (StringUtils.isNotEmpty(status)) {
statusList = new ArrayList<>();
String[] statuss = status.split(",");
for (String statu : statuss) {
statusList.add(Integer.parseInt(statu));
}
}
//需要导出的数据
List<Aritst> aritsts = aritstDao.selectArtistByAgentAndMobile(statusList, mobile, agentUid,quality, null,null,null); int rowNum = 1;
if (null != aritsts) {
//在表中存放查询到的数据放入对应的列
for (Aritst aritst : aritsts) {
HSSFRow row1 = sheet.createRow(rowNum);
//"姓名","邀请码","所属经纪人","经纪人手机号", "总收入金额", "接单号", "成单数","满意度","是否优质艺人" row1.createCell(0).setCellValue(aritst.getNickname());
row1.createCell(1).setCellValue(aritst.getInviteCode());
row1.createCell(2).setCellValue(aritst.getAgent());
row1.createCell(3).setCellValue(aritst.getAgentMobile());
row1.createCell(4).setCellValue(aritst.getRevenue());
row1.createCell(5).setCellValue(aritst.getConnectionnum());
row1.createCell(6).setCellValue(aritst.getServernum());
row1.createCell(7).setCellValue(aritst.getSatisfiedRate());
row1.createCell(8).setCellValue(aritst.getQuality()==1?"是":"否");
rowNum++;
}
}
return wb;
}

Java导出Excel文件的更多相关文章

  1. Java导出excel文件(使用jxl)

    首先要导入jxl的jar包,可以去maven仓库下载:https://mvnrepository.com/artifact/net.sourceforge.jexcelapi/jxl 通过模拟实现创建 ...

  2. java 导出Excel文件

    最近在做一个文件导出功能,发现大部分博客上通过引用各种的util工具包,其实说白了还是利用apache的poi,在项目中直接导入poi包就可以.直面其原理,随个人喜好封装. 1.首先准备一些poi的j ...

  3. Java导出Excel文件的两种方法

    将数据以Excel表格的形式导出:首先下载poi的jar包,导入项目中,或者使用maven仓库管理,在pom文件添加:<dependency>    <groupId>org. ...

  4. Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类

    Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ©Copyright 蕃薯耀 20 ...

  5. java导入、导出Excel文件

    一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已经习惯用Excel打印.这样在我们实际 ...

  6. java POI导出Excel文件数据库的数据

    在web开发中,有一个经典的功能,就是数据的导入导出.特别是数据的导出,在生产管理或者财务系统中用的非常普遍,因为这些系统经常要做一些报表打印的工作.这里我简单实现导出Excel文件. POI jar ...

  7. Java web中不同浏览器间导出Excel文件名称乱码问题解决方案

    问题描述: 对于不同浏览器存在对中文编码格式问题,从而在导出Excel文件时,中文文件名出现乱码的情况,即在程序中给要导出的文件指定一个中文名字时,在浏览器上出现的下载框中的文件名出现了乱码,解决如下 ...

  8. jxl导出Excel文件

    一.java项目实现读取Excel文件和导出Excel文件 实现读取和导出Excel文件的代码: package servlet; import java.io.FileInputStream; im ...

  9. java导出excel表格

    java导出excel表格: 1.导入jar包 <dependency> <groupId>org.apache.poi</groupId> <artifac ...

随机推荐

  1. iOS中的分类和扩展

    一.什么是分类? 概念:分类(Category)是OC中的特有语法,它是表示一个指向分类的结构体指针.根据下面源码组成可以看到它没有属性列表,原则上是不能添加成员变量(其实可以借助运行时功能,进行关联 ...

  2. 差分放大电路的CMRR与输入电阻分析

    分析了经典差分放大电路的共模抑制比CMRR与输入电阻RIN 1.经典差分放大电路 基于运放的经典差分放大电路在各模电教材中均能找到,利用分离电阻和运算放大器实现,如图1所示为一种差分放大电路: 图1 ...

  3. 初窥构建之法——记2020BUAA软工个人博客作业

    项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任建) 这个作业的要求在哪里 个人博客作业 我在这个课程的目标是 完成一次完整的软件开发经历并以博客的方式记录开发过程的心得掌握 ...

  4. SpringBoot1.5.10.RELEASE项目如何在tomcat容器中运行

    一. SpringBoot内嵌容器的部署方式 SpringBoot内部默认提供内嵌的tomcat容器,所以可以直接打成jar包,丢到服务器上的任何一个目录,然后在当前目录下执行java -jar de ...

  5. go 下载qq音乐

    //go下载qq音乐 package main import ( _ "fmt" jsoniter "github.com/json-iterator/go" ...

  6. TARS基金会:构建微服务开源生态

    导语 在20世纪60至70年代,软件开发人员通常在大型机和小型机上使用单体架构进行软件开发,没有一个应用程序能够满足大多数最终用户的需求.垂直行业使用的软件代码量更小,与其他应用程序的接口更简单,而可 ...

  7. SpringFactoriesLoader解析

    一.SpringFactoriesLoader 介绍 1.1 SpringFactoriesLoader 简介 SpringFactoriesLoader 工厂加载机制是 Spring 内部提供的一个 ...

  8. Simulink仿真入门到精通(十) S函数

    10.1 S函数概述 S函数也称为Simulink中的系统函数,是用来描述模块的Simulink宏函数,支持M.C等多种语言.当Simulink默认的模块不能满足用户的需求时,用户可以通过S函数自己打 ...

  9. 上海月薪 1w 和家乡月薪 5000 你选择哪?

    如题,这是我在知乎上看到的一个热门话题--要现在的我来回答的话,毫无疑问会选择上海,即便月薪只有 5000 也去,还要趁早去. 有读者可能会质问我:"你之前不是说在三线城市洛阳工作很爽吗?怎 ...

  10. 事务特性,事务的隔离级别以及spring中定义的事务传播行为

    .katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > ...