1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      JAVA中怎么導(dǎo)出EXCEL表格

      JAVA中怎么導(dǎo)出EXCEL表格?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

      創(chuàng)新互聯(lián)主營青岡網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,APP應(yīng)用開發(fā),青岡h5微信平臺小程序開發(fā)搭建,青岡網(wǎng)站營銷推廣歡迎青岡等地區(qū)企業(yè)咨詢

      如果是用maven的可自行到maven中央倉庫搜索poi然后選擇對應(yīng)的版本即可,也可以直接將下面代碼復(fù)制到pom.xml。

      
      
      org.apache.poi
      poi
      3.6
      

      小提示:用maven引入依賴jar包的可能會遇到包引用不到的bug,但是maven依賴確實已經(jīng)引入了,而且沒有任何報錯,但是只要一引用 org.apache.poi.hssf.usermodel下面的類

      就會報錯,報錯內(nèi)容為:Caused by: java.lang.NoClassDefFoundError: org/apache/poi/hssf/usermodel/HSSFWorkbook。

      3. Jakarta POI HSSF API組件:

      HSSF(用于操作Excel的組件)提供給用戶使用的對象在rg.apache.poi.hssf.usermodel包中,主要部分包括Excel對象,樣式和格式,有以下幾種常用的對象:

      常用組件:

      • HSSFWorkbook excel的文檔對象

      • HSSFSheet excel的表單

      • HSSFRow excel的行

      • HSSFCell excel的格子單元

      • HSSFFont excel字體

      樣式:

      HSSFCellStyle cell樣式

      4.基本操作步驟:

      首先,我們應(yīng)該要知道的是,一個Excel文件對應(yīng)一個workbook,一個workbook中有多個sheet組成,一個sheet是由多個行(row)和列(cell)組成。那么我們用poi要導(dǎo)出一個Excel表格

      的正確順序應(yīng)該是:

      1、用HSSFWorkbook打開或者創(chuàng)建“Excel文件對象”

      2、用HSSFWorkbook對象返回或者創(chuàng)建Sheet對象

      3、用Sheet對象返回行對象,用行對象得到Cell對象

      4、對Cell對象讀寫。

      5、將生成的HSSFWorkbook放入HttpServletResponse中響應(yīng)到前端頁面

      5. 導(dǎo)出Excel應(yīng)用實例:

      工具類代碼:

      package com.yq.util;
      
      import org.apache.poi.hssf.usermodel.HSSFCell;
      import org.apache.poi.hssf.usermodel.HSSFCellStyle;
      import org.apache.poi.hssf.usermodel.HSSFRow;
      import org.apache.poi.hssf.usermodel.HSSFSheet;
      import org.apache.poi.hssf.usermodel.HSSFWorkbook;
      
      public class ExcelUtil {
      
        /**
         * 導(dǎo)出Excel
         * @param sheetName sheet名稱
         * @param title 標(biāo)題
         * @param values 內(nèi)容
         * @param wb HSSFWorkbook對象
         * @return
         */
        public static HSSFWorkbook getHSSFWorkbook(String sheetName,String []title,String [][]values, HSSFWorkbook wb){
      
          // 第一步,創(chuàng)建一個HSSFWorkbook,對應(yīng)一個Excel文件
          if(wb == null){
            wb = new HSSFWorkbook();
          }
      
          // 第二步,在workbook中添加一個sheet,對應(yīng)Excel文件中的sheet
          HSSFSheet sheet = wb.createSheet(sheetName);
      
          // 第三步,在sheet中添加表頭第0行,注意老版本poi對Excel的行數(shù)列數(shù)有限制
          HSSFRow row = sheet.createRow(0);
      
          // 第四步,創(chuàng)建單元格,并設(shè)置值表頭 設(shè)置表頭居中
          HSSFCellStyle style = wb.createCellStyle();
          style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 創(chuàng)建一個居中格式
      
          //聲明列對象
          HSSFCell cell = null;
      
          //創(chuàng)建標(biāo)題
          for(int i=0;i

      控制器代碼:

      @Controller
      @RequestMapping(value = "/report")
      public class ReportFormController extends BaseController {
      
        @Resource(name = "reportService")
        private ReportManager reportService;
      
        /**
         * 導(dǎo)出報表
         * @return
         */
        @RequestMapping(value = "/export")
        @ResponseBody
        public void export(HttpServletRequest request,HttpServletResponse response) throws Exception {
            //獲取數(shù)據(jù)
            List list = reportService.bookList(page);
      
            //excel標(biāo)題
            String[] title = {"名稱","性別","年齡","學(xué)校","班級"};
      
            //excel文件名
            String fileName = "學(xué)生信息表"+System.currentTimeMillis()+".xls";
      
            //sheet名
            String sheetName = "學(xué)生信息表";
      
            for (int i = 0; i < list.size(); i++) {
            content[i] = new String[title.length];
            PageData obj = list.get(i);
            content[i][0] = obj.get("stuName").tostring();
            content[i][1] = obj.get("stuSex").tostring();
            content[i][2] = obj.get("stuAge").tostring();
            content[i][3] = obj.get("stuSchoolName").tostring();
            content[i][4] = obj.get("stuClassName").tostring();
            }
      
            //創(chuàng)建HSSFWorkbook 
            HSSFWorkbook wb = ExcelUtil.getHSSFWorkbook(sheetName, title, content, null);
      
            //響應(yīng)到客戶端
            try {
              this.setResponseHeader(response, fileName);
              OutputStream os = response.getOutputStream();
              wb.write(os);
              os.flush();
              os.close();
             } catch (Exception e) {
              e.printStackTrace();
             }
        }
      
        //發(fā)送響應(yīng)流方法
        public void setResponseHeader(HttpServletResponse response, String fileName) {
          try {
            try {
              fileName = new String(fileName.getBytes(),"ISO8859-1");
            } catch (UnsupportedEncodingException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
            }
            response.setContentType("application/octet-stream;charset=ISO8859-1");
            response.setHeader("Content-Disposition", "attachment;filename="+ fileName);
            response.addHeader("Pargam", "no-cache");
            response.addHeader("Cache-Control", "no-cache");
          } catch (Exception ex) {
            ex.printStackTrace();
          }
        }}

      前端頁面代碼:

      導(dǎo)出Excel
      $('#js-export').click(function(){
            window.location.href="/report/exportBooksTable.do;
      });

      看完上述內(nèi)容,你們掌握JAVA中怎么導(dǎo)出EXCEL表格的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


      文章題目:JAVA中怎么導(dǎo)出EXCEL表格
      瀏覽路徑:http://www.ef60e0e.cn/article/ihiejj.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        荃湾区| 宾川县| 台东市| 哈密市| 大余县| 体育| 阿尔山市| 宝坻区| 孟州市| 镇宁| 安岳县| 浑源县| 金昌市| 太康县| 荔波县| 新竹县| 彰化县| 贵定县| 华容县| 江口县| 布尔津县| 涟水县| 二连浩特市| 清水县| 鱼台县| 株洲县| 勃利县| 上栗县| 鄢陵县| 湖口县| 葫芦岛市| 临沧市| 车险| 寿阳县| 上杭县| 新密市| 乐清市| 涿州市| 漯河市| 双流县| 宁化县|