Java导出Excel文件
2024-09-01 17:09:12
/**
* 导出 用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;
}
最新文章
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part2:clusterware安装和升级
- 以下C#程序的输出结果是( )。
- BI商务智能对于企业的意义
- Atitit.数据库存储引擎的原理与attilax 总结
- Swift&;Node 使用Alamofire进行Post
- eclipse添加字体
- 384. Shuffle an Array
- [Phalcon-framework] Phalcon framework - Dependency Injection/Service Location And the MVC architecture note 1
- PHP获取不了React Native Fecth参数的解决办法代码是怎样?
- codeforces GYM 100114 J. Computer Network tarjan 树的直径 缩点
- MySQL提示:The server quit without updating PID file问题的解决办法
- scala学习笔记:理解并行集合par
- Android用户界面 UI组件--AdapterView及其子类(二) AdapterViewAnimator及其子类
- chromium安装flash
- 依赖注入与Unity(一) 介绍
- c++,派生类对象可以对基类赋值,基类对派生类不可以赋值
- 学python+django去北京找工作,靠谱吗?
- thinkphp5图片上传接口
- 版本管理工具Git(2)git的使用
- JAVA核心技术I---JAVA基础知识(知识回顾)
热门文章
- 混乱中的ICO平台,会不会是下一个P2P的重灾区?
- IIS+PHP+Mysql 返回500,服务器内部资源问题
- 2019年后,Java岗面试快速突击指南
- 菜鸟系列 Golang 实战 Leetcode —— 面试题24. 反转链表
- 怎么用Python写一个三体的气候模拟程序
- Android Base64图片无法长按保存 问题解决
- ionic监听android返回键(实现“再按一次退出”功能)
- 怎么查看linux文件夹下有多少个文件(mac同样)
- Redis系列三 - 缓存雪崩、击穿、穿透
- si4745 FM-AM-SW 音量控制芯片 驱动详解