大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) Java導(dǎo)出excel表格的方法

Java導(dǎo)出excel表格的方法

更新時(shí)間:2022-04-27 11:16:38 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1392次

Java導(dǎo)出excel表格的方法有哪些?動(dòng)力節(jié)點(diǎn)小編來(lái)告訴大家。

JAVA導(dǎo)出EXCEL表格的方法:

基本操作步驟:

首先,我們應(yīng)該要知道的是,一個(gè)Excel文件對(duì)應(yīng)一個(gè)workbook,一個(gè)workbook中有多個(gè)sheet組成,一個(gè)sheet是由多個(gè)行(row)和列(cell)組成。

那么我們用poi要導(dǎo)出一個(gè)Excel表格的正確順序應(yīng)該是:

1.用HSSFWorkbook打開(kāi)或者創(chuàng)建“Excel文件對(duì)象”

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

3.用Sheet對(duì)象返回行對(duì)象,用行對(duì)象得到Cell對(duì)象

4.對(duì)Cell對(duì)象讀寫(xiě)。

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

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

工具類代碼:

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對(duì)象
     * @return
     */
    public static HSSFWorkbook getHSSFWorkbook(String sheetName,String []title,String [][]values, HSSFWorkbook wb){
        // 第一步,創(chuàng)建一個(gè)HSSFWorkbook,對(duì)應(yīng)一個(gè)Excel文件
        if(wb == null){
            wb = new HSSFWorkbook();
        }
        // 第二步,在workbook中添加一個(gè)sheet,對(duì)應(yīng)Excel文件中的sheet
        HSSFSheet sheet = wb.createSheet(sheetName);
        // 第三步,在sheet中添加表頭第0行,注意老版本poi對(duì)Excel的行數(shù)列數(shù)有限制
        HSSFRow row = sheet.createRow(0);
        // 第四步,創(chuàng)建單元格,并設(shè)置值表頭 設(shè)置表頭居中
        HSSFCellStyle style = wb.createCellStyle();
        style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 創(chuàng)建一個(gè)居中格式
        //聲明列對(duì)象
        HSSFCell cell = null;
        //創(chuàng)建標(biāo)題
        for(int i=0;i<title.length;i++){
            cell = row.createCell(i);
            cell.setCellValue(title[i]);
            cell.setCellStyle(style);
        }
        //創(chuàng)建內(nèi)容
        for(int i=0;i<values.length;i++){
            row = sheet.createRow(i + 1);
            for(int j=0;j<values[i].length;j++){
                //將內(nèi)容按順序賦給對(duì)應(yīng)的列對(duì)象
                row.createCell(j).setCellValue(values[i][j]);
            }
        }
        return wb;
    }
}

控制器代碼:

@Controller
@RequestMapping(value = "/report")
public class ReportFormController extends BaseController {
    @Resource(name = "reportService")
    private ReportManager reportService;
    /**
     * 導(dǎo)出報(bào)表
     * @return
     */
    @RequestMapping(value = "/export")
    @ResponseBody
    public void export(HttpServletRequest request,HttpServletResponse response) throws Exception {
           //獲取數(shù)據(jù)
           List<PageData> list = reportService.bookList(page);
           //excel標(biāo)題
          String[] title = {"名稱","性別","年齡","學(xué)校","班級(jí)"};
          //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();
        }
    }
}

前端頁(yè)面代碼:

<button id="js-export" type="button" class="btn btn-primary">導(dǎo)出Excel</button>
$('#js-export').click(function(){
            window.location.href="/report/exportBooksTable.do;
});

 

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 欧美激情一区二区三区视频 | 国产精品永久免费视频观看 | 99热久久这里只精品国产ww | 四虎网址换成什么了2021 | 中文字幕一二三区乱码老 | 久久精品福利 | 欧美日韩亚洲精品一区 | 国产精品久久久久久影视 | 精品国产日韩久久亚洲 | 亚洲综合图片区 | 热久久国产 | 精品福利一区二区三区免费视频 | 日日日日日操 | 亚洲欧美成人中文在线网站 | 国产大学生一级毛片绿象 | 亚洲高清视频在线观看 | 欧美视频在线看 | 丁香激情综合色伊人久久 | 外国一级黄色毛片 | 国产伦精品一区二区三区女 | 免费欧美黄色网址 | 欧美日韩国产综合一区二区三区 | 91福利视频合集 | 四虎4w4w| 国产精品乱码免费一区二区 | 亚洲精品久久久久网站 | 欧美精品亚洲精品日韩经典 | 亚洲欧洲日韩国产aa色大片 | 国产精品一级 | 天天草狠狠干 | 四虎影在永久在线观看 | 国产成人99精品免费视频麻豆 | 免费视频久久久 | 欧美一区二区三区在线观看 | 中文字幕国产一区 | xxxx日本在线播放免费不卡 | 夜色私人影院永久地址入口 | 国产成人a毛片 | 热re久久精品国产99热 | 曰本亚洲欧洲色a在线 | 四虎精品视频在线永久免费观看 |