1 //导出数据2 //SELECT SUBSTRING(create_time,1,10) s,COUNT(*) FROM data_read WHERE data_id IN (SELECT data_id FROM DATA WHERE model_id=2 OR model_id=27) GROUP BY s

3 @RequestMapping(params = "method=outData",method =RequestMethod.GET)4 public voidoutCompassTongJiData(Integer compassId,String fromWhere,ModelMap model,HttpServletRequest request,HttpServletResponse response)5 {6 String urlPath = request.getScheme()+"://"+request.getServerName()+request.getContextPath();7 XSSFWorkbook rwb1 = newXSSFWorkbook();8

9 while(true)10 {11 if(rwb1.getNumberOfSheets() != 0){12 rwb1.removeSheetAt(0);13 }14 else{15 break;16 }17 }18 try{19 int bankLong = 0;20 int bank1Long = 0;21 String [] bank = request.getParameterValues("bank");//广告类型选择

22 String [] bank1 = request.getParameterValues("bank1");//身份选择

23 String startTime = request.getParameter("startTime");24 String endTime = request.getParameter("endTime");25 String[] shenfenList = {"医生","医学生","其他"};26 String[] zhichengArray = {"主任医师","副主任医师","主治医师","住院医师(有执业证)","住院医师(未考执业证)","助理医师(有执业证)","助理医师(未考执业证)","其他"};27 String typeString1 ="";28 String typeString2 ="";29 if(bank!=null){30 bankLong =bank.length;31 for(int i=0;i

49 XSSFSheet ws1 = rwb1.createSheet("统计数据");50 ws1.addMergedRegion(new CellRangeAddress(0, 1, 0, 0));51 ws1.addMergedRegion(new CellRangeAddress(0, 1, 1, 1));52 ws1.addMergedRegion(new CellRangeAddress(0, 1, 2, 2));53 ws1.addMergedRegion(new CellRangeAddress(0, 1, 3, 3));54 ws1.addMergedRegion(new CellRangeAddress(0, 0, 4, 5));55 int count = 0;//行

56 int rolNUm = 0;//列

57

58 XSSFRow row1 = ws1.createRow(0);59

60 row1.createCell(rolNUm).setCellValue("类型");61 rolNUm++;62 row1.createCell(rolNUm).setCellValue("ID");63 rolNUm++;64 row1.createCell(rolNUm).setCellValue("标题");65 rolNUm++;66 row1.createCell(rolNUm).setCellValue("地址");67 rolNUm++;68 row1.createCell(rolNUm).setCellValue("点击量");//1/2

69

70 count++;71 XSSFRow row2 =ws1.createRow(count);72 row2.createCell(rolNUm).setCellValue("总点击次数");73 rolNUm++;74 row2.createCell(rolNUm).setCellValue("总点击用户数");75 //六种统计类型:首页广告、上方广告、session相关性广告、展商活动、动态(现场秀)、消息站76

77 //得到需要统计的广告类型的集合

78 List compassTongJis = conferencesService.getCompassTongJiByType(fromWhere,typeString1,typeString2,startTime,endTime);//i,group by dataId 查询不重复的data79 //如果不为空,遍历

80 if(compassTongJis != null && compassTongJis.size() != 0){81 for(CompassTongji compassTongJi :compassTongJis){82 int dataId = compassTongJi.getDataId();//广告ID

83 int type =compassTongJi.getType();84 String title = compassTongJi.getDataTitle();//广告标题

85 String url1 = compassTongJi.getDataUrl()==null?"":compassTongJi.getDataUrl();//广告地址

86 String url = "";87 if(type - 8 == 0){88 if(url1.indexOf("method=")!= -1){89 String[] urlStrings = url1.split("&");90 url = urlStrings[0]+"&"+urlStrings[1];91 }else{92 int index = url1.indexOf("?");93 if(index != -1){94 url = url1.substring(0, index);95 }else{96 url =url1;97 }98 }99 }else{100 int index = url1.indexOf("?");101 if(index != -1){102 url = url1.substring(0, index);103 }else{104 url =url1;105 }106

107 }108

109 //总点击量

110 int totalClickNumber =conferencesService.getTotalClickNumber(dataId,url,startTime,endTime,type,fromWhere);111 //总点击人数

112 int totalClickPeopleNumber =conferencesService.getTotalClickPeopleNumber(dataId,url,startTime,endTime,type,fromWhere);113 count++;114 XSSFRow row3 =ws1.createRow(count);115 rolNUm=0;116 row3.createCell(rolNUm).setCellValue(type == 1?"首页广告":type ==2?"上方广告":type==3?"session相关性广告":type==4?"展商活动":type==5?"动态(现场秀)":type==6?"消息站":type == 7?"弹窗":type == 8?"推送":"首页模块");117 rolNUm++;118 row3.createCell(rolNUm).setCellValue(dataId);119 rolNUm++;120 row3.createCell(rolNUm).setCellValue(title);121 rolNUm++;122 row3.createCell(rolNUm).setCellValue(url1);123 rolNUm++;124 row3.createCell(rolNUm).setCellValue(totalClickNumber);125 rolNUm++;126 row3.createCell(rolNUm).setCellValue(totalClickPeopleNumber);127 for(int j=0;j

133 List compassList =conferencesService.getCompassList();134 int compassListLength =compassList.size();135

136 ws1.addMergedRegion(new CellRangeAddress(0, 0, rolNUm+1, compassListLength+rolNUm));137 row1.createCell(rolNUm+1).setCellValue("领域");138 if(compassList != null && compassList.size()!=0){139 for(CompassField compassField : compassList) {140 int compassFieldId =compassField.getCompassFieldId();141 int countLy =conferencesService.getUserLyInfo(dataId,url,compassFieldId,startTime,endTime,type,fromWhere);142 rolNUm++;143 row2.createCell(rolNUm).setCellValue(compassField.getFieldName());144 row3.createCell(rolNUm).setCellValue(countLy);145 }146 }147 }148 if(tongJiZiDuan == 2){//科室统计 userKs

149 List compassKsListList =conferencesService.getCompassKsList();150 int userKsListLength =compassKsListList.size();151 ws1.addMergedRegion(new CellRangeAddress(0, 0, rolNUm+1, userKsListLength+rolNUm));152 row1.createCell(rolNUm+1).setCellValue("科室");153 if(compassKsListList != null && compassKsListList.size()!=0){154 for(CompassKs compassKs : compassKsListList) {155 int compassKsId =compassKs.getCompassKsId();156 int countKs =conferencesService.getUserKsInfo(dataId,url,compassKsId,startTime,endTime,type,fromWhere);157 rolNUm++;158 row2.createCell(rolNUm).setCellValue(compassKs.getKsName());159 row3.createCell(rolNUm).setCellValue(countKs);160 }161 }162 }163

164 if(tongJiZiDuan == 3){//职称统计 zhicheng

165 int userZhichengListLeng =zhichengArray.length;166 ws1.addMergedRegion(new CellRangeAddress(0, 0, rolNUm+1, userZhichengListLeng+rolNUm));167 row1.createCell(rolNUm+1).setCellValue("职称");168 for (int k=0;k

176 }177

178 if(tongJiZiDuan == 4){//身份统计

179 int userShenfenListLength =shenfenList.length;180 ws1.addMergedRegion(new CellRangeAddress(0, 0, rolNUm+1, userShenfenListLength +rolNUm));181 row1.createCell(rolNUm+1).setCellValue("身份");182

183 for (int k = 0;k

192 List provinceList =conferencesService.getProvinceList();193

194 if(provinceList != null && provinceList.size()!=0){195 for(Hospital hospital : provinceList) {196 Integer provinceId =hospital.getHospitalId();197 String provinceName =hospital.getProvince();198

199 if(provinceName!=null && provinceName.length() != 0){200 List cityList =conferencesService.getCityInfoByProvinceId(provinceId);201

202 if(cityList != null && cityList.size() != 0){203 int cityListLength =cityList.size();204 ws1.addMergedRegion(new CellRangeAddress(0, 0, rolNUm+1, rolNUm+cityListLength));205 row1.createCell(rolNUm+1).setCellValue(provinceName);206 for(Hospital hospital2 : cityList) {207 //得到市的名称

208 String cityName =hospital2.getCity();209 Integer cityId =hospital2.getHospitalId();210 if(cityName!=null && cityName.length() != 0){211 int cityNum =conferencesService.getCityInfoByProvinceNameAndCityName(dataId,url,startTime, endTime, cityId,type,fromWhere);212 rolNUm++;213 row2.createCell(rolNUm).setCellValue(cityName);214 row3.createCell(rolNUm).setCellValue(cityNum);215 }216 }217 }218 }//省不为空

219 }220 }221 }//省市统计结束

222 }223 }224 }//最外if结束

225

226

227

228 String filePath = request.getSession().getServletContext().getRealPath("files/execl");229 File conFile = new File(filePath); //目录结构

230 if(!conFile.exists())231 {232 conFile.mkdir();233 }234 String fileName = "compassTongJi.xlsx";235 File file = new File(filePath+"/"+fileName);236 if(file.exists())237 {238 file.delete();239 }240 else{241 file.createNewFile();242 }243 FileOutputStream fout = newFileOutputStream(file);244 rwb1.write(fout);245 fout.close();246 //JSONObject jsonObject = new JSONObject();247 //jsonObject.accumulate("url",request.getContextPath()+"/files/execl/"+fileName);248 //writeToJson(response, jsonObject.toString());

249 String urlString ="";250 PrintWriter out =response.getWriter();251 response.setCharacterEncoding("utf-8");252 response.setContentType("text/html;charset=UTF-8");253 out.write(urlString);254 out.flush();255 out.close();256 } catch(Exception e) {257 //TODO: handle exception

258 e.printStackTrace();259 }260 }

java的excel导出_java 实现excel 导出功能相关推荐

  1. cpu java poi 导出_java基于poi导出excel透视表代码实例

    这篇文章主要介绍了java基于poi导出excel透视表代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 从前,我是一个前端程序猿,怀着对打通 ...

  2. java导出excel报表_java生成excel报表文件示例

    此次简单的操作将数据从数据库导出生成excel报表以及将excel数据导入数据库 首先建立数据库的连接池: package jdbc; import java.io.FileInputStream; ...

  3. java io导出excel表格_Java IO 导入导出Excel表格

    1.将excel导入到内存 1. 调用工作簿Workbook的静态方法getWorkbook(),获得工作簿Workbook对象 InputStream in = new FileInputStrea ...

  4. java excel 透视_java基于poi导出excel透视表代码实例

    这篇文章主要介绍了java基于poi导出excel透视表代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 从前,我是一个前端程序猿,怀着对打通 ...

  5. java导出复杂excel表格_java使用freemarker导出复杂的excel表格

    正常导出excel表格使用的poi,但是导出复杂的excel有点困难,但是可以使用freemaker模板来导出复杂的excel. 都是先生成一个Excel表格的模板,最好是增加一行数据.具体看图里面的 ...

  6. java excel 操作方式_Java读写Excel基本操作

    Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程式对Microsoft Office格式档案读和写的功能. 接口: HSSF - Microsoft Exce ...

  7. java excel 筛选_Java 在Excel中设置筛选器

    在日常办公中,Excel工作表通常含有大量不同类型的数据,当我们想方便,快捷地从中筛选并显示所需数据时,则需用到筛选器这一工具.本文就将通过使用Java程序来演示如何设置Excel筛选器. Jar文件 ...

  8. java 读取excel列_Java读取Excel指定列的数据详细教程和注意事项

    本文使用jxl.jar工具类库实现读取Excel中指定列的数据. jxl.jar是通过java操作excel表格的工具类库,是由java语言开发而成的.这套API是纯Java的,并不依赖Windows ...

  9. java 表格 列删除_Java 删除Excel表格中的空白行或列

    Java 删除Excel表格中的空白行和列 本文介绍在Java程序中如何来删除Excel表格中多余的空白行或者列. 使用工具:Free Spire.XLS for Java (免费版) Jar获取及导 ...

  10. java excel生成_java操作excel表,包括创建、读取、以及修改【via 度娘】

    作者的网站上对它的特征有如下描述: ● 支持Excel 95-2000的所有版本 ● 生成Excel 2000标准格式 ● 支持字体.数字.日期操作 ● 能够修饰单元格属性 ● 支持图像和图表 应该说 ...

最新文章

  1. Linux shell文件测试运算符
  2. cf两边黑屏怎么解决win10_win10开机无限黑屏转圈重启解决方法
  3. 用于地址解析的协议是服务器,tcp/ip协议和http协议
  4. oracle中noguarantee,关于undo guarantee
  5. Java动态代理生成的对象导出方法
  6. oa服务器怎么修改域名,oa域名服务器配置
  7. 开发了那么多项目,你能自己手写个健壮的链表出来吗?
  8. 【Qt教程】2.4 - Qt5 控件 - QListWidget列表框
  9. 光芒国际——我的面试(二)
  10. 星巴克推出含萃取后咖啡粉制作的渣渣管;麦咖啡四款新品登陆全国1600家门店;可口可乐业绩恢复至疫情前水平 | 美通企业日报...
  11. FPGA实现SPI 协议
  12. struct termios
  13. 数据分析从零到精通第一课 数据分析技巧和OLAP工具简介
  14. android shell打包报错
  15. 让 Vivado有Zybo Board的配置文件
  16. LyX使用小记之二 图像
  17. 单页应用和多页应用的区别
  18. urllib库用POST请求模仿有道在线翻译
  19. Linux 自定义回收站
  20. 全方位理解「元宇宙」:一切才刚刚开始

热门文章

  1. 云上快速搭建Serverless AI实验室
  2. 这帮吃货程序猿,给阿里食堂来了一波骚操作
  3. 1 分钟记住 docker 镜像和容器常用基本命令
  4. Gartner:2022年全球IT支出将超4万亿美元,软件增速最高
  5. 如何在容器内高效编程?
  6. 两亿人在家开会!钉钉紧急扩容1万台云服务器
  7. 详解CPU几个重点基础知识
  8. java中img属性_如果html img的src属性无效,请输入默认图像?
  9. centos 7 安装golang遇到问题: No package golang available.
  10. plsql连接 oracle instantclient_11_2 本地机器不安装oracle_02