当前位置: 首页 > news >正文

个人建什么网站比较好开发软件需要什么软件

个人建什么网站比较好,开发软件需要什么软件,企业库,php做的商城网站必备功能通过多线程读取数据#xff0c;使用EasyExcel按顺序导出数据 导出时如果要保证顺序需要使用单线程#xff0c;但是查询时可以用多线程#xff0c;因为多线程查询后返回数据不是按照顺序排列的#xff0c;所以我的思路是再循环时给每个线程打标识#xff0c;通过标识来排序…通过多线程读取数据使用EasyExcel按顺序导出数据 导出时如果要保证顺序需要使用单线程但是查询时可以用多线程因为多线程查询后返回数据不是按照顺序排列的所以我的思路是再循环时给每个线程打标识通过标识来排序多线程返回的结果 创建一个Future对象用于排序多线程查询结果 static class Result {final Integer threadId;final ListUserInfo data;Result(Integer threadId, ListUserInfo data) {this.threadId threadId;this.data data;}}PostMapping(export3)public void export3(HttpServletResponse response) throws IOException, InterruptedException, ExecutionException {// 查询总数Long dataCount userInfoMapper.selectCount();// 每页条数Long searchCount 100000L;// 获取页数并向上取整 5.2 - 6int ceil (int) Math.ceil((double) dataCount / searchCount);// 使用线程池ExecutorService executorService Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors());ListFutureResult futures new ArrayList();MapInteger, Result resultsMap new ConcurrentHashMap();// 通过多线程查询并设置线程IDfor (int i 1; i ceil; i) {Integer pageNum Math.toIntExact((i - 1) * searchCount);int finalI i;futures.add(executorService.submit(() - new Result(finalI, userInfoMapper.getList(pageNum, searchCount))));}// 收集所有线程的结果for (FutureResult future : futures) {resultsMap.put(future.get().threadId, future.get());}// 通过线程ID排序ListResult sortedResults resultsMap.values().stream().sorted(Comparator.comparingInt(result - result.threadId)).collect(Collectors.toList());// 构建表头WriteCellStyle headWriteCellStyle new WriteCellStyle();headWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER);WriteCellStyle contentWriteCellStyle new WriteCellStyle();contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER);HorizontalCellStyleStrategy horizontalCellStyleStrategy new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle);// 设置返回格式response.setHeader(Content-Disposition, attachment; filenametest DateUtil.format(new Date(), yyyyMMddHHmmss) .xlsx);response.setContentType(application/vnd.ms-excel);response.setCharacterEncoding(UTF-8);ExcelWriter excelWriter EasyExcelFactory.write(response.getOutputStream(), UserInfo.class).registerWriteHandler(horizontalCellStyleStrategy).needHead(true).excelType(ExcelTypeEnum.XLSX).build();// 如果是单sheet则放在循环外面多sheet放在循环里面WriteSheet writeSheet EasyExcelFactory.writerSheet(Sheet1).head(UserInfo.class).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).registerWriteHandler(horizontalCellStyleStrategy).build();try {// 使用单线程写入ExcelsortedResults.forEach(r - excelWriter.write(r.data, writeSheet));} finally {executorService.shutdown();excelWriter.finish();}}
http://www.hkea.cn/news/14397156/

相关文章:

  • 济南冰河世纪网站建设四川华泰建设集团网站
  • 大学生兼职网站建设策划书python基础教程第3版
  • 自建门户网站网站建设vs网络推广
  • 做新网站的swot分析wordpress404无法加载
  • 建设银行信用卡被钓鱼网站骗了15000wordpress主题 电影
  • pc网站转wap网站新乡专业做网站公司
  • wordpress主题的网站wordpress 免费注册
  • 陕西做网站的企业培训考试app
  • 自己电脑做主机怎么做网站知名营销网站
  • 烟台建设科技网站网站优化设计方案怎么做
  • 太原本地网站搭建公司现代风格装修效果图
  • 济南建站公司模板如何制作自己的官网
  • 惠民网站建设网页界面设计的构成要素
  • 部门网站建设整改做模具的网站
  • 做推送好用的网站个人电影网站做APP违法吗
  • 太原优化型网站建设网页制作实训步骤
  • 做英文简历的网站网上装修平台
  • 网站规划怎么做先买空间再写网站
  • 深圳网站设计服装个宽带多少钱
  • 青岛网站开发培训价格如何在手机上编程游戏
  • 网站备案背景布深圳做网站那家好
  • 企业网站有那些php做网站图集
  • 一个电商网站建设需要哪些技术惠东住房建设局网站
  • 优化网站的步骤杭州营销型网站
  • 网站备案没通过wordpress 存储插件
  • 网站建设视屏教程分销佣金有危害吗
  • 企业建设网站的目的和意义做企业网站制作
  • 网站名称和备案名称不一样邢台网站网页设计
  • 网站建设的技术问题漳州市建设网站
  • 新网站如何才做被百度收录网站打开速度影响因素