真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么在Java中實(shí)現(xiàn)導(dǎo)出Excel

本篇文章為大家展示了怎么在Java中實(shí)現(xiàn)導(dǎo)出Excel,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

在常熟等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供做網(wǎng)站、網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需策劃設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),成都全網(wǎng)營(yíng)銷,外貿(mào)網(wǎng)站制作,常熟網(wǎng)站建設(shè)費(fèi)用合理。

首先,引入需要依賴的jar包:


 org.apache.poi
 poi
 3.14


 org.apache.poi
 poi-ooxml
 3.14

編寫一個(gè)工具類:

package exceloutput;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.streaming.SXSSFSheet;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.UUID;
/**
 * @author haozz
 * @date 2018/6/6 9:57
 * @description excel導(dǎo)出抽象工具類
 **/
public abstract class ExportAbstractUtil {
  public void write(HttpServletResponse response, Workbook workbook){
    String fileName = UUID.randomUUID().toString()+".xls";
    pwrite(response,workbook,fileName);
  }
  public void write(HttpServletResponse response,Workbook workbook,String fileName){
    if(StringUtils.isEmpty(fileName)){
      fileName = UUID.randomUUID().toString()+".xls";
    }
    pwrite(response,workbook,fileName);
  }
  public void write(HttpServletResponse response, List> lists,String fileName){
    if(StringUtils.isEmpty(fileName)){
      fileName = UUID.randomUUID().toString()+".xls";
    }
    SXSSFWorkbook workbook = new SXSSFWorkbook(lists.size());
    SXSSFSheet sheet = workbook.createSheet(fileName.substring(0,fileName.indexOf(".xls")));
    Integer rowIndex = 0;
    Row row = null;
    Cell cell = null;
    for(List rowData: lists ){
      Integer columnIndex = 0;
      row = sheet.createRow(rowIndex++);
      for(String columnVal:rowData){
        cell = row.createCell(columnIndex++);
        cell.setCellValue(columnVal);
      }
    }
    pwrite(response,workbook,fileName);
  }
  private void pwrite(HttpServletResponse response,Workbook workbook,String fileName){
    response.setCharacterEncoding("UTF-8");
    response.setContentType("application/vnd.ms-excel;charset=UTF-8");
    try {
      response.addHeader("Content-Disposition", "attachment; filename="+new String(fileName.getBytes("UTF-8"),"ISO8859-1"));
    } catch (UnsupportedEncodingException e) {
      e.printStackTrace();
      fileName= UUID.randomUUID().toString()+".xls";
      response.addHeader("Content-Disposition", "attachment; filename="+fileName);
    }
    try {
      workbook.write(response.getOutputStream());
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

有了這個(gè)工具類就可以實(shí)現(xiàn)Excel導(dǎo)出了,代碼不難,這里就不多解釋了。

在SpringBoot項(xiàng)目中編寫一個(gè)導(dǎo)出Excel的Controller,并繼承上面的ExportAbstractUtil,給出一個(gè)接口用作測(cè)試:

package com.csdn.myboot.controller;
import com.csdn.myboot.utils.ExportAbstractUtil;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

@Controller
@RequestMapping(value = "/index")
public class HelloCtrl extends ExportAbstractUtil{
  @RequestMapping(value = "/testExcelOutPut")
  @ResponseBody
  public void testExcelOutPut(HttpServletResponse response){
    //拼接數(shù)據(jù)start
    List> lists = new ArrayList>();
    String rows[] = {"year","month","day"};
    List rowsTitle = Arrays.asList(rows);
    lists.add(rowsTitle);
    for(int i = 0; i<=9;i++){
      String [] rowss = {"1","2","3"};
      List rowssList = Arrays.asList(rowss);
      lists.add(rowssList);
    }
    //拼接數(shù)據(jù)end
    write(response,lists,"導(dǎo)出Excel.xls");
  }
}

上述內(nèi)容就是怎么在Java中實(shí)現(xiàn)導(dǎo)出Excel,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


新聞名稱:怎么在Java中實(shí)現(xiàn)導(dǎo)出Excel
文章URL:http://weahome.cn/article/jdpihd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部