欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java poi導出Excel下載到客戶端

 更新時間:2018年02月02日 11:36:32   作者:紫薇帝星的故事  
這篇文章主要為大家詳細介紹了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 {
      // 第一步,創(chuàng)建一個webbook,對應一個Excel文件 
      HSSFWorkbook wb = new HSSFWorkbook();
      //生成一個表格 
      HSSFSheet sheet = wb.createSheet(excelName); 
      // 第三步,在sheet中添加表頭第0行
      HSSFRow row = sheet.createRow(0);
      
      // 第四步,創(chuàng)建單元格,并設置值表頭 設置表頭居中 
      HSSFCellStyle style = wb.createCellStyle(); 
      style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 創(chuàng)建一個居中格式
      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();
    }
  }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 東方通TongWeb結合Spring-Boot使用的實現

    東方通TongWeb結合Spring-Boot使用的實現

    本文主要介紹了東方通TongWeb結合Spring-Boot使用的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-07-07
  • 深入淺析Java 抽象類和接口

    深入淺析Java 抽象類和接口

    這篇文章主要介紹了Java 抽象類和接口的相關知識,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-11-11
  • Java 繼承與多態(tài)超詳細梳理

    Java 繼承與多態(tài)超詳細梳理

    繼承就是可以直接使用前輩的屬性和方法。自然界如果沒有繼承,那一切都是處于混沌狀態(tài)。多態(tài)是同一個行為具有多個不同表現形式或形態(tài)的能力。多態(tài)就是同一個接口,使用不同的實例而執(zhí)行不同操作
    2022-04-04
  • 通過端口1433連接到主機127.0.0.1的 TCP/IP 連接失敗,錯誤:“connect timed out”的解決方法

    通過端口1433連接到主機127.0.0.1的 TCP/IP 連接失敗,錯誤:“connect timed out”的解

    這篇文章主要介紹了通過端口1433連接到主機127.0.0.1的 TCP/IP 連接失敗,錯誤:“connect timed out”的解決方法,需要的朋友可以參考下
    2015-08-08
  • 如何用Springboot Admin監(jiān)控你的微服務應用

    如何用Springboot Admin監(jiān)控你的微服務應用

    這篇文章主要介紹了如何用Springboot Admin監(jiān)控你的微服務應用,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下。
    2021-01-01
  • mybatis-plus分頁查詢的實現示例

    mybatis-plus分頁查詢的實現示例

    這篇文章主要介紹了mybatis-plus分頁查詢的實現示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • Java類加載器ClassLoader用法解析

    Java類加載器ClassLoader用法解析

    這篇文章主要介紹了Java類加載器ClassLoader用法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • mybatis?使用concat?模糊查詢方式

    mybatis?使用concat?模糊查詢方式

    這篇文章主要介紹了mybatis?使用concat?模糊查詢方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Java中的DelayQueue實現原理及應用場景詳解

    Java中的DelayQueue實現原理及應用場景詳解

    這篇文章主要介紹了Java中的DelayQueue實現原理及應用場景詳解,DelayQueue是一個沒有邊界BlockingQueue實現,加入其中的元素必需實現Delayed接口,當生產者線程調用put之類的方法加入元素時,會觸發(fā)Delayed接口中的compareTo方法進行排序,需要的朋友可以參考下
    2023-12-12
  • java實現圖形化界面計算器

    java實現圖形化界面計算器

    這篇文章主要為大家詳細介紹了java實現圖形化界面計算器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05

最新評論