百万数据报表读取:步骤分析以及自定义事件处理器
生活随笔
收集整理的這篇文章主要介紹了
百万数据报表读取:步骤分析以及自定义事件处理器
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
自定義處理器
package cn.learn.poi.entity.cn.learn.poi.handler;import cn.learn.poi.entity.PoiEntity; import org.apache.poi.xssf.eventusermodel.XSSFSheetXMLHandler; import org.apache.poi.xssf.usermodel.XSSFComment;/*** 自定義的事件處理器* 處理每一行數(shù)據(jù)讀取* 實(shí)現(xiàn)接口*/ public class SheetHandler implements XSSFSheetXMLHandler.SheetContentsHandler {private PoiEntity entity;/*** 當(dāng)開始解析某一行的時(shí)候觸發(fā)* i:行索引*/@Overridepublic void startRow(int i) {//實(shí)例化對(duì)象if(i>0) {entity = new PoiEntity();}}/*** 當(dāng)結(jié)束解析某一行的時(shí)候觸發(fā)* i:行索引*/@Overridepublic void endRow(int i) {//使用對(duì)象進(jìn)行業(yè)務(wù)操作System.out.println(entity);}/*** 對(duì)行中的每一個(gè)表格進(jìn)行處理* cellReference: 單元格名稱* value:數(shù)據(jù)* xssfComment:批注*/@Overridepublic void cell(String cellReference, String value, XSSFComment xssfComment) {//對(duì)對(duì)象屬性賦值if(entity != null) {String pix = cellReference.substring(0,1);switch (pix) {case "A":entity.setId(value);break;case "B":entity.setBreast(value);break;case "C":entity.setAdipocytes(value);break;case "D":entity.setNegative(value);break;case "E":entity.setStaining(value);break;case "F":entity.setSupportive(value);break;default:break;}}} } package cn.learn.poi.entity;public class PoiEntity {private String id;private String breast;private String adipocytes;private String negative;private String staining;private String supportive;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getBreast() {return breast;}public void setBreast(String breast) {this.breast = breast;}public String getAdipocytes() {return adipocytes;}public void setAdipocytes(String adipocytes) {this.adipocytes = adipocytes;}public String getNegative() {return negative;}public void setNegative(String negative) {this.negative = negative;}public String getStaining() {return staining;}public void setStaining(String staining) {this.staining = staining;}public String getSupportive() {return supportive;}public void setSupportive(String supportive) {this.supportive = supportive;}@Overridepublic String toString() {return "PoiEntity{" +"id='" + id + '\'' +", breast='" + breast + '\'' +", adipocytes='" + adipocytes + '\'' +", negative='" + negative + '\'' +", staining='" + staining + '\'' +", supportive='" + supportive + '\'' +'}';} }?
總結(jié)
以上是生活随笔為你收集整理的百万数据报表读取:步骤分析以及自定义事件处理器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 百万数据报表导出:使用SXSSFWork
- 下一篇: 分布式文件系统研究-技术应用场景