日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

项目中使用EasyPOI完成监控设备历史数据的导出

發布時間:2024/4/13 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 项目中使用EasyPOI完成监控设备历史数据的导出 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1)在頁面定義一個按鈕,當點擊按鈕時,把設備id,時間范圍傳遞到后臺

2)后天接收到請求及參數,進行處理

3)使用easypoi導出數據

/*** 默認查詢最近一個月的數據進行下載* 要按設備類型不同分別下載* 可以根據傳入的時間范圍進行下載* @param map* @param request* @param response* @param pageTableRequest*/ @RequestMapping("load") @ApiOperation(value = "歷史數據下載") public void downloadByPoiBaseView(ModelMap map, HttpServletRequest request,HttpServletResponse response,PageTableRequest pageTableRequest) {FarmDto farmDto=new FarmDto();User user = (User) SecurityUtils.getSubject().getPrincipal();user.setPassword(null);farmDto.setUser(user);//設備信息//基地id默認就是當前擁有的第一個基地,如有多個,在切換的時候動態更新數據//如果用戶沒有基地,那么farmId就為null,數據庫也不會返回數據Long farmId = null;//根據用戶獲取擁有的農場List<Farm> farmList = farmDao.getFarmListByUserId(user.getId());List<DeviceGather> deviceGatherList=null;String createTimeRangeStr ="";if (farmList != null && farmList.size() > 0) {Farm farm = farmList.get(0);//將用戶擁有的第一個農場查詢出來,這里是有問題的,需要優化farmId=farm.getId();List<Device> deviceList = deviceDao.getByFarmId(farmId);//封裝查詢條件createTimeRangeStr = (String) pageTableRequest.getParams().get("createTimeRange");if (StringUtils.isNotEmpty(createTimeRangeStr)) {//2019-01-11 - 2019-02-03String[] createTimeRangeStrS = createTimeRangeStr.split(" - ");pageTableRequest.getParams().put("startTime", createTimeRangeStrS[0]);pageTableRequest.getParams().put("endTime", createTimeRangeStrS[1]);}else {//如果沒有傳時間,就顯示最近一個月的String startTime=DateUtil.dateToString(DateUtil.getBeforeByMonth(1));String endTime=DateUtil.dateToString(new Date());pageTableRequest.getParams().put("startTime",startTime);pageTableRequest.getParams().put("endTime", endTime);createTimeRangeStr=startTime+" - "+endTime;}//將分頁參數設置為空pageTableRequest.setLimit(null);pageTableRequest.setOffset(null);deviceGatherList=deviceService.getHistoryDataByFarmId(pageTableRequest,farmId);}ExportParams params = new ExportParams("采集數據顯示", "概覽", ExcelType.XSSF);params.setFreezeCol(2);map.put(NormalExcelConstants.DATA_LIST, deviceGatherList);map.put(NormalExcelConstants.CLASS, DeviceGather.class);map.put(NormalExcelConstants.PARAMS, params);map.put(NormalExcelConstants.FILE_NAME, createTimeRangeStr);PoiBaseView.render(map, request, response, NormalExcelConstants.EASYPOI_EXCEL_VIEW);}

得到歷史數據的service

/*** 得到歷史采集數據* @param pageTableRequest* @param farmId* @return*/ @Override public List<DeviceGather> getHistoryDataByFarmId(PageTableRequest pageTableRequest,Long farmId) {List<DeviceGather> deviceGathers = new ArrayList<>();//如果設備id直接傳遞過來了,那就按設備id直接查詢Object deviceIdObj = pageTableRequest.getParams().get("deviceId");if (deviceIdObj != null) {Long deviceId= (Long) deviceIdObj;deviceGathers = deviceGatherDao.list(pageTableRequest.getParams(), null, null);return deviceGathers;}//沒有設備id的情況下,根據農場id獲取該農場的所有設備,并全部返回List<Device> deviceList = deviceDao.getByFarmId(farmId);for (Device device : deviceList) {//不需要分頁參數,并且設置設備idpageTableRequest.getParams().put("deviceId",device.getId());List<DeviceGather> deviceGatherList = deviceGatherDao.list(pageTableRequest.getParams(),null,null);if (deviceGatherList!=null&&deviceGatherList.size()>0){//封裝數據返回for (DeviceGather deviceGather : deviceGatherList) {deviceGathers.add(deviceGather);}}}return deviceGathers; }

實體類

public class DeviceGather extends BaseEntity<Long> {@Excel(name = "設備id")private Integer deviceId;@Excel(name = "設備序列號",width = 20)private String deviceSn;@Excel(name = "設備名稱",width = 30)private String deviceName;private String deviceType;@Excel(name = "數據")private Float basicData;private Integer measurementUnitId;@Excel(name = "數據單位")private String measurementUnitName;private String measureUnitType;@Excel(name = "采集時間",format = "yyyy-MM-dd HH:mm:ss", width = 35)private Date gatherTime;

生成excel的代碼

ExportParams params = new ExportParams("采集數據顯示", "概覽", ExcelType.XSSF); params.setFreezeCol(2); map.put(NormalExcelConstants.DATA_LIST, deviceGatherList); map.put(NormalExcelConstants.CLASS, DeviceGather.class); map.put(NormalExcelConstants.PARAMS, params); map.put(NormalExcelConstants.FILE_NAME, createTimeRangeStr); PoiBaseView.render(map, request, response, NormalExcelConstants.EASYPOI_EXCEL_VIEW);

?

總結

以上是生活随笔為你收集整理的项目中使用EasyPOI完成监控设备历史数据的导出的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品一区电影国产 | av一级黄色| 有码一区二区三区 | 亚洲天堂免费av | 一区二区三区不卡视频 | 理论片av | 国产 日韩 欧美 综合 | 日本色站 | 另类欧美尿交 | av手机免费观看 | 无码aⅴ精品一区二区三区浪潮 | 蜜桃av噜噜一区二区三区网址 | 中文在线字幕免费观看电 | 亚洲第一页综合 | 亚洲最新av网址 | 人妻丰满熟妇av无码区不卡 | 国产精品视频一区二区在线观看 | 亚洲videos | 亚洲av无码一区二区三区网站 | 911色 | 91精品国产成人观看 | 亚洲第一视频在线观看 | 国产精品久久久久久久久免费 | 亚洲第一黄色网址 | 色爱亚洲 | 久久久www免费人成人片 | 婷婷激情小说网 | 动漫裸体无遮挡 | 99热精品在线观看 | 国产精品扒开腿做爽爽爽男男 | 日本一二三不卡视频 | 黄色欧美视频 | 国产毛片高清 | 天天色影院 | 毛片在线播放视频 | 久色99| 老司机黄色片 | 国产男女网站 | 奇米网在线观看 | 荫道bbwbbb高潮潮喷 | 日韩中文字幕在线观看视频 | 色爱综合 | 国产伦精品一区二区三区高清 | 久草影视网 | 香蕉久草 | 影音先锋波多野结衣 | 国产精品久久久网站 | 四虎网站| 久久九九国产视频 | 五月天色婷婷综合 | 一本色道久久hezyo无码 | 日韩特黄一级片 | 日韩avv| 午夜不卡av | 菲律宾av | 色大师在线观看 | 中文字幕日韩欧美一区二区 | 国产91在线播放 | 最新中文字幕免费视频 | 女女互磨互喷水高潮les呻吟 | 思思在线视频 | 极品销魂美女一区二区三区 | 国产日韩精品一区二区三区 | 激情片网站| 亚洲天堂午夜 | 中文在线8资源库 | 91喷水| 欧美一区二区三区久久久 | 蜜臀av无码精品人妻色欲 | 五月天综合激情网 | 天堂va欧美ⅴa亚洲va一国产 | 日韩成年人视频 | 日韩一级久久 | 爆操日本美女 | 亚洲在线国产 | 欧美在线观看a | 99精品欧美 | 亚洲视频自拍 | 成人视品| 久久精品一区二区 | 中文字幕第三页 | 色欲狠狠躁天天躁无码中文字幕 | 亚洲精品免费在线 | 狠狠干2021| 欧美性三级 | av导航大全 | 国内成人精品视频 | 欧美一二在线 | 牛牛视频在线 | 日本免费高清视频 | 91免费精品视频 | 调教驯服丰满美艳麻麻在线视频 | 国产成人精品久久二区二区91 | 99热久 | 最新亚洲精品 | a黄色一级片 | 亚洲а∨天堂久久精品2021 | 福利精品在线 | 五月天视频网 |