Java中poi如何导出Excel下载到客户端

这篇文章将为大家详细讲解有关Java中poi如何导出Excel下载到客户端,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:空间域名、虚拟空间、营销软件、网站建设、北票网站维护、网站推广。

具体内容如下

Maven配置,包含了其他文件格式的依赖,就全贴出来了

<dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi-excelant</artifactId>
      <version>3.12</version>
    </dependency>
    <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi-scratchpad</artifactId>
      <version>3.12</version>
    </dependency>
    <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi-ooxml</artifactId>
      <version>3.8</version>
    </dependency>
    <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi-ooxml-schemas</artifactId>
      <version>3.8</version>
    </dependency>

Service层

@Override
  public void export(Long sblsh, String excelName, OutputStream out) {
    try {
      // 第一步,创建一个webbook,对应一个Excel文件 
      HSSFWorkbook wb = new HSSFWorkbook();
      //生成一个表格 
      HSSFSheet sheet = wb.createSheet(excelName); 
      // 第三步,在sheet中添加表头第0行
      HSSFRow row = sheet.createRow(0);
      
      // 第四步,创建单元格,并设置值表头 设置表头居中 
      HSSFCellStyle style = wb.createCellStyle(); 
      style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
      HSSFCell cell = row.createCell(0);
      cell.setCellStyle(style);
      
      Byte kjzz = qyjbxxMapper.getKjzz(sblsh);
      List<A> record = this.selectBySblsh(sblsh);
        this.insertData(wb, sheet, row, record, out);
      }
    } catch (Exception e) {
      logger.info(e.getMessage());
    }
  }
  
  /**
   * 导入数据到表格中
   * @param wb execl文件
   * @param sheet 表格
   * @param row 表格行
   * @param record 要导出的数据
   * @param out 输出流
   */
  private void insertData(HSSFWorkbook wb,HSSFSheet sheet,HSSFRow row,List<A> record,
      OutputStream out){
    try {
      row = sheet.createRow(1);
      for(int i=0;i<title.length;i++){
        row.createCell(i).setCellValue(title[i]);
      }
      for(int i=0;i<record.size();i++){
        row = sheet.createRow(i+2);
        A data = record.get(i);
        row.createCell(0).setCellValue(data.getHc());
        row.createCell(1).setCellValue(data.getXm());
        BigDecimal je = data.getJe();
        if(je!=null){
          row.createCell(2).setCellValue(je.doubleValue());
        }
      }
      //合并单元格,前面2位代表开头结尾行,后面2位代表开头结尾列
      CellRangeAddress region = new CellRangeAddress(0,0,0,title.length-1);
      sheet.addMergedRegion(region);
      wb.write(out);
      out.flush();
      out.close();
      wb.close();
    } catch (Exception e) {
      logger.info(e.getMessage());
    }
  }

Controller

@RequestMapping("/export")
  public void export(Long sblsh, HttpServletRequest request, HttpServletResponse response){
    response.setContentType("octets/stream");
    String excelName = "文件名";
    try {
      response.addHeader("Content-Disposition", "attachment;filename="+new String(excelName.getBytes("gb2312"), "ISO8859-1" )+".xls");
      OutputStream out = response.getOutputStream();
      aService.export(sblsh,excelName ,out);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }

关于“Java中poi如何导出Excel下载到客户端”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

网页标题:Java中poi如何导出Excel下载到客户端
当前路径:https://www.cdcxhl.com/article22/gedsjc.html

成都网站建设公司_创新互联,为您提供电子商务外贸建站定制网站网站设计公司搜索引擎优化用户体验

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

商城网站建设