1. 程式人生 > >封裝poi操作Excel工具類

封裝poi操作Excel工具類

   原文點這裡

在上一篇文章《使用poi讀寫Excel》中分享了一下poi操作Excel的簡單示例,這次要分享一下我封裝的一個Excel操作的工具類。

       該工具類主要完成的功能是:讀取Excel、彙總Excel的功能。在讀取時,可以設定開始和結束讀取的位置、設定是否讀取多個sheet、設定讀取那個或者那些sheet等。在彙總時,如設定是否覆蓋目標檔案、設定是否比較檢查重複內容、設定檢查重複的列索引等功能。具體來演示一下吧:

       工具類原始碼:

[java] view plain copy  print?在CODE上檢視程式碼片派生到我的程式碼片
  1. package
     com.tgb.ccl.excel.util;  
  2. import java.io.File;  
  3. import java.io.FileInputStream;  
  4. import java.io.FileOutputStream;  
  5. import java.io.IOException;  
  6. import java.util.ArrayList;  
  7. import java.util.List;  
  8. import org.apache.poi.hssf.usermodel.HSSFWorkbook;  
  9. import org.apache.poi.ss.usermodel.Cell;  
  10. import org.apache.poi.ss.usermodel.CellStyle;  
  11. import org.apache.poi.ss.usermodel.Row;  
  12. import org.apache.poi.ss.usermodel.Sheet;  
  13. import org.apache.poi.ss.usermodel.Workbook;  
  14. import org.apache.poi.ss.util.CellRangeAddress;  
  15. import org.apache.poi.xssf.usermodel.XSSFWorkbook;  
  16. /** 
  17.  * Excel檔案操作工具類,包括讀、寫、合併等功能
     
  18.  *  
  19.  * @author  : 龍軒 
  20.  * @group   : tgb8 
  21.  * @Version : 1.00 
  22.  * @Date    : 2014-10-29 上午12:40:44 
  23.  */
  24. publicclass ExcelUtil {  
  25.     //%%%%%%%%-------常量部分 開始----------%%%%%%%%%
  26.     /** 
  27.      * 預設的開始讀取的行位置為第一行(索引值為0) 
  28.      */
  29.     privatefinalstaticint READ_START_POS = 0;  
  30.     /** 
  31.      * 預設結束讀取的行位置為最後一行(索引值=0,用負數來表示倒數第n行) 
  32.      */
  33.     privatefinalstaticint READ_END_POS = 0;  
  34.     /** 
  35.      * 預設Excel內容的開始比較列位置為第一列(索引值為0) 
  36.      */
  37.     privatefinalstaticint COMPARE_POS = 0;  
  38.     /** 
  39.      * 預設多檔案合併的時需要做內容比較(相同的內容不重複出現) 
  40.      */
  41.     privatefinalstaticboolean NEED_COMPARE = true;  
  42.     /** 
  43.      * 預設多檔案合併的新檔案遇到名稱重複時,進行覆蓋 
  44.      */
  45.     privatefinalstaticboolean NEED_OVERWRITE = true;  
  46.     /** 
  47.      * 預設只操作一個sheet 
  48.      */
  49.     privatefinalstaticboolean ONLY_ONE_SHEET = true;  
  50.     /** 
  51.      * 預設讀取第一個sheet中(只有當ONLY_ONE_SHEET = true時有效) 
  52.      */
  53.     privatefinalstaticint SELECTED_SHEET = 0;  
  54.     /** 
  55.      * 預設從第一個sheet開始讀取(索引值為0) 
  56.      */
  57.     privatefinalstaticint READ_START_SHEET= 0;  
  58.     /** 
  59.      * 預設在最後一個sheet結束讀取(索引值=0,用負數來表示倒數第n行) 
  60.      */
  61.     privatefinalstaticint READ_END_SHEET = 0;  
  62.     /** 
  63.      * 預設列印各種資訊 
  64.      */
  65.     privatefinalstaticboolean PRINT_MSG = true;  
  66.     //%%%%%%%%-------常量部分 結束----------%%%%%%%%%
  67.     //%%%%%%%%-------欄位部分 開始----------%%%%%%%%%
  68.     /** 
  69.      * Excel檔案路徑 
  70.      */
  71.     private String excelPath = "data.xlsx";  
  72.     /** 
  73.      * 設定開始讀取的位置,預設為0 
  74.      */
  75.     privateint startReadPos = READ_START_POS;  
  76.     /** 
  77.      * 設定結束讀取的位置,預設為0,用負數來表示倒數第n行 
  78.      */
  79.     privateint endReadPos = READ_END_POS;  
  80.     /** 
  81.      * 設定開始比較的列位置,預設為0 
  82.      */
  83.     privateint comparePos = COMPARE_POS;  
  84.     /** 
  85.      *  設定彙總的檔案是否需要替換,預設為true 
  86.      */
  87.     privateboolean isOverWrite = NEED_OVERWRITE;  
  88.     /** 
  89.      *  設定是否需要比較,預設為true(僅當不覆寫目標內容是有效,即isOverWrite=false時有效) 
  90.      */
  91.     privateboolean isNeedCompare = NEED_COMPARE;  
  92.     /** 
  93.      * 設定是否只操作第一個sheet 
  94.      */
  95.     privateboolean onlyReadOneSheet = ONLY_ONE_SHEET;  
  96.     /** 
  97.      * 設定操作的sheet在索引值 
  98.      */
  99.     privateint selectedSheetIdx =SELECTED_SHEET;  
  100.     /** 
  101.      * 設定操作的sheet的名稱 
  102.      */
  103.     private String selectedSheetName = "";  
  104.     /** 
  105.      * 設定開始讀取的sheet,預設為0 
  106.      */
  107.     privateint startSheetIdx = READ_START_SHEET;  
  108.     /** 
  109.      * 設定結束讀取的sheet,預設為0,用負數來表示倒數第n行     
  110.      */
  111.     privateint endSheetIdx = READ_END_SHEET;  
  112.     /** 
  113.      * 設定是否列印訊息 
  114.      */
  115.     privateboolean printMsg = PRINT_MSG;  
  116.     //%%%%%%%%-------欄位部分 結束----------%%%%%%%%%
  117.     publicstaticvoid main(String[] args) {  
  118.         ExcelUtil eu = 

    相關推薦

    封裝poi操作Excel工具

       原文點這裡: 在上一篇文章《使用poi讀寫Excel》中分享了一下poi操作Excel的簡單示例,這次要分享一下我封裝的一個Excel操作的工具類。        該工具類主要完成的功能是:讀取Excel、彙總Excel的功能。在讀取時,可以設定

    自己封裝poi操作Excel工具

    該工具類主要完成的功能是:讀取Excel、彙總Excel的功能。在讀取時,可以設定開始和結束讀取的位置、設定是否讀取多個sheet、設定讀取那個或者那些sheet等。在彙總時,如設定是否覆蓋目標檔案、設定是否比較檢查重複內容、設定檢查重複的列索引等功能。具體來演示一下吧:  &nbs

    poi讀取excel工具

    package com.zhwg.core.tool; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; im

    Java使用POI匯出Excel工具

    自行匯入poi3.9的jar包 工具類: package com.cpic.caf.template.home.util; import java.io.BufferedOutputStream; import java.io.FileNotFoundException; imp

    Java使用POI匯出Excel工具(反射)

    pom.xml: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId&g

    poi 匯出Excel 工具

    package com.nisco.dms.util; import java.io.OutputStream; import java.lang.reflect.Method; import java.text.SimpleDateFormat; import java.

    POI匯出Excel工具(補充)

    在實際使用中,發現用XSSFWorkbook建立xlsx檔案,如果資料量比較大,很容易出現佔用cpu過高,記憶體溢位的情況。查了相關資料後,才發現官方推薦處理大量資料使用SXSSFWorkbook(在POI3.8之後才有) 下面貼下自己寫的程式碼 </pre>&

    POIExcel進行讀取操作工具,便於操作資料

    一:首先POI對Excel 操作進行了一系列的封裝,匯入,匯出Excel這裡藉助於POI提供的jar包 專案當中匯入POI提供的Jar包,這裡使用Maven管理   進行匯入jar包   <!-- https://mvnrepository.c

    封裝poi讀取excel的超強工具,支援一行程式碼獲取excel內容

    時隔多年,再次更新下部落格。特貢獻一份poi讀取excel的超強工具類,一行程式碼讀取excel的封裝。包括讀、寫等操作。具體還是跟著程式碼看吧。 ExcelReadDealUtils:excel讀取處理工具類 package all.file.ex

    poi操作excel工具

    package com.paic.commcc.util; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.i

    【原創】POI操作Excel導入導出工具ExcelUtil

    表頭 println bottom ktr factory eof git reflect 解決 關於本類線程安全性的解釋: 多數工具方法不涉及共享變量問題,至於添加合並單元格方法addMergeArea,使用ThreadLocal變量存儲合並數據,ThreadLocal

    poi上傳excel工具 相容2003/2007版本

    寫的比較簡單,可以直接用,拿去按自己專案需求稍微修改下就可以了。直接上程式碼吧, package com; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; i

    Redis操作List工具封裝,Java Redis List命令封裝

    Redis列表是簡單的字串列表,按照插入順序排序。你可以新增一個元素導列表的頭部(左邊)或者尾部(右邊) 一個列表最多可以包含 232 - 1 個元素 (4294967295, 每個列表超過40億個元素)。 下載 Java程式碼   /*********

    POI操作Excel詳解,讀取xls和xlsx格式的文件

    shee xss split 類型 後綴 .sh lan xls lin package org.ian.webutil; import java.io.File; import java.io.FileInputStream; import java.io.FileN

    使用POI操作Excel時new XSSFWorkbook ()報錯java.lang.NoSuchMethodError解決方式

    lin line java sts factor 出現 class padding test 使用最新的POI3.11時,在執行 Workbook workBook = new XSSFWorkbook ();這段代碼時出現錯誤: java.lang.NoSu

    金額操作工具

    ive char acea log rst reverse this emp arr 1 public class MoneyUtil { 2 private static final Map<String, String> zeroToNin

    List操作工具

    row exceptio val 字符串 rem 字符 sem != err 1 /** 2 * <p>list操作的工具類</p> 3 */ 4 public class ListUtil { 5 /** 6

    關於IP操作工具

    *** equal rac 獲取本地ip pan -i str upper forward 1 public class IPUtil { 2 /** 3 * 獲取本地IP地址 4 * @return 5 */

    文件操作工具

    direct str 方式 cnblogs 獲取文件 exception 內容 source let 相關代碼如下:包含創建文件,創建目錄,創建壓縮文件,獲取文件等相關操作。 public class FileUtil { private static fina

    java與javascript對cookie操作工具

    check cells ram tco expire turn get servle request Java對cookie的操作 package cn.utils; import java.util.HashMap; import java.util.Map;