在SSM下使用POI實現Excel表的匯入/匯出
匯出就是將List轉化為Excel(listToExcel)
匯入就是將Excel轉化為List(excelToList)
POI
Apache POI是Apache軟體基金會的開放原始碼函式庫,POI提供API給Java程式對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
- package com.city.pms.common.utils;
- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- import java.io.ByteArrayInputStream;
- import java.io.ByteArrayOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.math.BigDecimal;
- import java.text.DecimalFormat;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.Iterator;
- import java.util.List;
- import java.util.Map;
- import javax.servlet.ServletOutputStream;
- import javax.servlet.http.HttpServletResponse;
- import org.apache.poi.hssf.usermodel.HSSFCell;
- import org.apache.poi.hssf.usermodel.HSSFCellStyle;
- import org.apache.poi.hssf.usermodel.HSSFClientAnchor;
- import org.apache.poi.hssf.usermodel.HSSFComment;
- import org.apache.poi.hssf.usermodel.HSSFFont;
- import org.apache.poi.hssf.usermodel.HSSFPatriarch;
- import org.apache.poi.hssf.usermodel.HSSFRichTextString;
- import org.apache.poi.hssf.usermodel.HSSFRow;
- import org.apache.poi.hssf.usermodel.HSSFSheet;
- import org.apache.poi.hssf.usermodel.HSSFWorkbook;
- import org.apache.poi.ss.usermodel.Cell;
- import org.apache.poi.ss.usermodel.CellStyle;
- import org.apache.poi.ss.usermodel.Font;
- import org.apache.poi.ss.usermodel.Row;
- import org.apache.poi.ss.usermodel.Sheet;
- import org.apache.poi.ss.usermodel.Workbook;
- import org.apache.poi.xssf.streaming.SXSSFCell;
- import org.apache.poi.xssf.streaming.SXSSFRow;
- import org.apache.poi.xssf.streaming.SXSSFSheet;
- import org.apache.poi.xssf.streaming.SXSSFWorkbook;
- import org.apache.poi.xssf.usermodel.XSSFWorkbook;
- import com.alibaba.fastjson.JSONArray;
- import com.alibaba.fastjson.JSONObject;
- publicclass ExcellUtil{
- publicstatic String NO_DEFINE = "no_define";//未定義的欄位
- publicstatic String DEFAULT_DATE_PATTERN="yyyy-MM-dd";//預設日期格式
- publicstaticint DEFAULT_COLOUMN_WIDTH = 17;
- privatefinalstatic String excel2003L =".xls"; //2003- 版本的excel
- privatefinalstatic String excel2007U =".xlsx"; //2007+ 版本的excel
- /**
- * Excel匯入
- */
- publicstatic List<List<Object>> getBankListByExcel(InputStream in, String fileName) throws Exception{
- List<List<Object>> list = null;
- //建立Excel工作薄
- Workbook work = getWorkbook(in,fileName);
- if(null == work){
- thrownew Exception("建立Excel工作薄為空!");
- }
- Sheet sheet = null;
- Row row = null;
- Cell cell = null;
- list = new ArrayList<List<Object>>();
- //遍歷Excel中所有的sheet
- for (int i = 0; i < work.getNumberOfSheets(); i++) {
- sheet = work.getSheetAt(i);
- if(sheet==null){continue;}
- //遍歷當前sheet中的所有行
- //包涵頭部,所以要小於等於最後一列數,這裡也可以在初始值加上頭部行數,以便跳過頭部
- for (int j = sheet.getFirstRowNum(); j <= sheet.getLastRowNum(); j++) {
- //讀取一行
- row = sheet.getRow(j);
- //去掉空行和表頭
- if(row==null||row.getFirstCellNum()==j){continue;}
- //遍歷所有的列
- List<Object> li = new ArrayList<Object>();
- for (int y = row.getFirstCellNum(); y < row.getLastCellNum(); y++) {
- cell = row.getCell(y);
- li.add(getCellValue(cell));
- }
- list.add(li);
- }
- }
- return list;
- }
- /**
- * 描述:根據檔案字尾,自適應上傳檔案的版本
- */
- publicstatic Workbook getWorkbook(InputStream inStr,String fileName) throws Exception{
- Workbook wb = null;
- String fileType = fileName.substring(fileName.lastIndexOf("."));
- if(excel2003L.equals(fileType)){
- wb = new HSSFWorkbook(inStr); //2003-
- }elseif(excel2007U.equals(fileType)){
- wb = new XSSFWorkbook(inStr); //2007+
- }else{
-
相關推薦
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利用poi將excel資料匯入資料庫
POI匯入資料庫 1.前臺頁面 <form action="<%=request.getContextPath()%>/doFile.action" method="post" enctype="multipart/form-data">
Android中如何實現excel的匯入/匯出
在Android中使用第三方庫來實現對excel的檔案的匯入匯出 準備操作:從網路上下載第三方庫jxl.jar並且匯入到Android studio中 一、將記憶體中的資料匯出到Excel檔案中。
Poi的Excel的匯入匯出 支援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