1. 程式人生 > >在SSM下使用POI實現Excel表的匯入/匯出

在SSM下使用POI實現Excel表的匯入/匯出

匯出就是將List轉化為ExcellistToExcel

匯入就是將Excel轉化為ListexcelToList

POI

Apache POIApache軟體基金會的開放原始碼函式庫,POI提供APIJava程式對Microsoft Office格式檔案讀和寫的功能。

我們知道要建立一張excel你得知道excel由什麼組成,比如說sheet也就是一個工作表格,例如一行,一個單元格,單元格格式,單元格內容格式…這些都對應著poi裡面的一個類。

一個excel表格:

HSSFWorkbook wb = new HSSFWorkbook();

一個工作表格(sheet):

HSSFSheet sheet = wb.createSheet("測試表格

");

一行(row):

HSSFRow row1 = sheet.createRow(0);

一個單元格(cell):

HSSFCell cell2 = row2.createCell((short)0)

單元格格式(cellstyle):

HSSFCellStyle style4 = wb.createCellStyle()

單元格內容格式()

HSSFDataFormat format= wb.createDataFormat();

知道上面的基本知識後下面學起來就輕鬆了

poi批量匯入匯出的jar

poi-ooxml-3.13.jar

poi-ooxml-schemas-3.13.jar

poi-3.13.jar

xmlbeans-2.6.0.jar

fastjson-1.2.2-sources.jar

fastjson-1.2.2.jar

建立一個Excel表資料匯入和匯出的工具類ExcelUtil

  1. package com.city.pms.common.utils;  
  2. import java.io.BufferedInputStream;  
  3. import java.io.BufferedOutputStream;  
  4. import java.io.ByteArrayInputStream;  
  5. import java.io.ByteArrayOutputStream;  
  6. import java.io.IOException;  
  7. import java.io.InputStream;  
  8. import java.io.OutputStream;  
  9. import java.math.BigDecimal;  
  10. import java.text.DecimalFormat;  
  11. import java.text.SimpleDateFormat;  
  12. import java.util.ArrayList;  
  13. import java.util.Date;  
  14. import java.util.Iterator;  
  15. import java.util.List;  
  16. import java.util.Map;  
  17. import javax.servlet.ServletOutputStream;  
  18. import javax.servlet.http.HttpServletResponse;  
  19. import org.apache.poi.hssf.usermodel.HSSFCell;  
  20. import org.apache.poi.hssf.usermodel.HSSFCellStyle;  
  21. import org.apache.poi.hssf.usermodel.HSSFClientAnchor;  
  22. import org.apache.poi.hssf.usermodel.HSSFComment;  
  23. import org.apache.poi.hssf.usermodel.HSSFFont;  
  24. import org.apache.poi.hssf.usermodel.HSSFPatriarch;  
  25. import org.apache.poi.hssf.usermodel.HSSFRichTextString;  
  26. import org.apache.poi.hssf.usermodel.HSSFRow;  
  27. import org.apache.poi.hssf.usermodel.HSSFSheet;  
  28. import org.apache.poi.hssf.usermodel.HSSFWorkbook;  
  29. import org.apache.poi.ss.usermodel.Cell;  
  30. import org.apache.poi.ss.usermodel.CellStyle;  
  31. import org.apache.poi.ss.usermodel.Font;  
  32. import org.apache.poi.ss.usermodel.Row;  
  33. import org.apache.poi.ss.usermodel.Sheet;  
  34. import org.apache.poi.ss.usermodel.Workbook;  
  35. import org.apache.poi.xssf.streaming.SXSSFCell;  
  36. import org.apache.poi.xssf.streaming.SXSSFRow;  
  37. import org.apache.poi.xssf.streaming.SXSSFSheet;  
  38. import org.apache.poi.xssf.streaming.SXSSFWorkbook;  
  39. import org.apache.poi.xssf.usermodel.XSSFWorkbook;  
  40. import com.alibaba.fastjson.JSONArray;  
  41. import com.alibaba.fastjson.JSONObject;  
  42. publicclass ExcellUtil{  
  43.     publicstatic String NO_DEFINE = "no_define";//未定義的欄位
  44.     publicstatic String DEFAULT_DATE_PATTERN="yyyy-MM-dd";//預設日期格式
  45.     publicstaticint DEFAULT_COLOUMN_WIDTH = 17;  
  46.     privatefinalstatic String excel2003L =".xls";    //2003- 版本的excel  
  47.     privatefinalstatic String excel2007U =".xlsx";   //2007+ 版本的excel  
  48.     /**  
  49.      * Excel匯入 
  50.      */
  51.     publicstatic  List<List<Object>> getBankListByExcel(InputStream in, String fileName) throws Exception{    
  52.         List<List<Object>> list = null;    
  53.         //建立Excel工作薄  
  54.         Workbook work = getWorkbook(in,fileName);    
  55.         if(null == work){    
  56.             thrownew Exception("建立Excel工作薄為空!");    
  57.         }    
  58.         Sheet sheet = null;    
  59.         Row row = null;    
  60.         Cell cell = null;    
  61.         list = new ArrayList<List<Object>>();    
  62.         //遍歷Excel中所有的sheet  
  63.         for (int i = 0; i < work.getNumberOfSheets(); i++) {    
  64.             sheet = work.getSheetAt(i);    
  65.             if(sheet==null){continue;}    
  66.             //遍歷當前sheet中的所有行  
  67.             //包涵頭部,所以要小於等於最後一列數,這裡也可以在初始值加上頭部行數,以便跳過頭部  
  68.             for (int j = sheet.getFirstRowNum(); j <= sheet.getLastRowNum(); j++) {    
  69.                 //讀取一行  
  70.                 row = sheet.getRow(j);    
  71.                 //去掉空行和表頭  
  72.                 if(row==null||row.getFirstCellNum()==j){continue;}    
  73.                 //遍歷所有的列  
  74.                 List<Object> li = new ArrayList<Object>();    
  75.                 for (int y = row.getFirstCellNum(); y < row.getLastCellNum(); y++) {    
  76.                     cell = row.getCell(y);    
  77.                     li.add(getCellValue(cell));    
  78.                 }    
  79.                 list.add(li);    
  80.             }    
  81.         }    
  82.         return list;    
  83.     }    
  84.     /**  
  85.      * 描述:根據檔案字尾,自適應上傳檔案的版本  
  86.      */
  87.     publicstatic  Workbook getWorkbook(InputStream inStr,String fileName) throws Exception{    
  88.         Workbook wb = null;    
  89.         String fileType = fileName.substring(fileName.lastIndexOf("."));    
  90.         if(excel2003L.equals(fileType)){    
  91.             wb = new HSSFWorkbook(inStr);  //2003-  
  92.         }elseif(excel2007U.equals(fileType)){    
  93.             wb = new XSSFWorkbook(inStr);  //2007+  
  94.         }else{    
  95. 相關推薦

    SpringBoot整合poi實現Excel匯入/匯出

    新增依賴 <!-- excel匯出工具 --> <dependency> <groupId>org.apache.poi</groupId>

    【Java】SpringMVC整合poi實現excel匯入匯出

    2.特點:結構: HSSF - 提供讀寫Microsoft Excel格式檔案的功能。 XSSF - 提供讀寫Microsoft Excel OOXML格式檔案的功能。 HWPF - 提供讀寫Microsoft Word格式檔案的功能。 HSLF - 提供讀寫Microsof

    利用POI實現Excel匯入匯出

    在專案開中,我們經常需要用excel來匯入匯出資料,而POI技術是實現我們需求的一個選擇。 POI支援office的所有版本 POI全稱 PoorObfuscation Implementation,直譯為“可憐的模糊實現”,利用POI介面可以通過JAVA操作Micro

    SSM基於POI實現Excel匯入/匯出

    對於批量資料的操作,在專案中引進Excel的匯入和匯出功能是個不錯的選擇。對於Excel表的結構,簡單理解可以把它分成三部分(Sheet,Cell,Row),這三部分可以理解為excel表中的頁,列,行。因此,我們想要獲取到某一個單元的內容,可以通過獲取該單元所在的頁數、對應

    SSM使用POI實現Excel匯入/匯出

    匯出就是將List轉化為Excel(listToExcel)匯入就是將Excel轉化為List(excelToList)POIApache POI是Apache軟體基金會的開放原始碼函式庫,POI提供API給Java程式對Microsoft Office格式檔案讀和寫的功能。

    利用POI實現Execl的匯入匯出

    #匯入POI依賴架包 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.15</

    thinkphp5做excel匯入匯出

    public function excel(){ if (request()->isPost()) { Loader::import('PHPExcel.PHPExcel'); Lo

    js實現Excel檔案匯入匯出、利用 js-xlsx 實現 Excel 檔案匯入匯出-功能示例

    1.匯入功能實現 下載js-xlsx到dist複製出xlsx.full.min.js引入到頁面中 然後通過FileReader物件讀取檔案利用js-xlsx轉成json資料 <!DOCTYPE html> <html> <head>

    js-xlsx實現Excel匯入匯出功能

    一:匯入功能 讀取excel的多個sheet資料 <script type="text/javascript" src="js/xlsx.core.min.js"></script> <table style="width

    web專案實現Excel資料匯入匯出

            由於專案要求,需要實現一個數據庫資訊匯出為Excel檔案,並能將Excel檔案中的資訊匯入資料庫的功能,網上找了一下資料,發現大都只涉及到Excel檔案的簡單操作,所以特地在此分享了自己寫的兩個簡單的Web端Excel檔案匯入匯出的例子。         涉

    java之poi操作excel-批量匯入匯出

        上一篇博文介紹了poi操作excel的基本讀寫操作後,接下來,介紹一下在專案中的實際用途:批量匯入、批量匯出功能。因為重點知識介紹批量匯入匯出excel功能,故而專案整體的搭建後臺用jdbc與struts2,前端頁面用jquery-easyui實現(其實也可以整合到s

    純前端利用 js-xlsx 實現 Excel 檔案匯入匯出功能示例

    1.匯入功能實現 下載js-xlsx到dist複製出xlsx.full.min.js引入到頁面中 然後通過FileReader物件讀取檔案利用js-xlsx轉成json資料 程式碼實現(==>示例<==) <!DOCTYPE html> <html> <he

    springboot+easypoi實現Excel匯入匯出

    1.pom引入 <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-base<

    ssm利用poiexcel資料匯入資料庫

    POI匯入資料庫 1.前臺頁面 <form action="<%=request.getContextPath()%>/doFile.action" method="post" enctype="multipart/form-data">     

    Android中如何實現excel匯入/匯出

    在Android中使用第三方庫來實現對excel的檔案的匯入匯出 準備操作:從網路上下載第三方庫jxl.jar並且匯入到Android studio中 一、將記憶體中的資料匯出到Excel檔案中。

    PoiExcel匯入匯出 支援2007

    需要匯入 poi-3.7.jar commons-io-2.4.jar Excel2003匯出  import java.io.File; import java.io.FileOutputStream; import org.apache.commons.io.FileU

    JavaWeb 實現Excel匯入匯出

    開發環境: myeclipse10.4 /** 匯出Excel 檔案 */ public String exportDictEntryData(DictionaryManagedForm fm,

    依賴POI實現EXCEL匯入資料並生成javaBean和EXCEL根據資料庫匯出

    首先是excel匯入匯出的工具類程式碼 public class ExportExcel { // 測試123 private ExportExcel() { } /*** * 工作簿 */

    Spring使用POI實現Excel匯入匯出

    Apache POI 是建立和維護操作各種符合Office Open XML(OOXML)標準和微軟的OLE 2複合文件格式(OLE2)的Java API。用它可以使用Java讀取和建立,修改MS Excel檔案.而且,還可以使用Java讀取和建立MS Word和MSPowerPoint檔案。Ap

    POI實現Excel匯入匯出(轉)

    利用idea建立java web的maven專案,在pom中新增對poi的jar的依賴。 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/200