北京供卵薇電█ 188★2335★0811 ████试管选性别██供卵试管婴儿*███代怀孕选性别生男孩 ████试管包出生████*男孩████*包出生███*选性别██试管婴儿███*生男孩█████
之所以前面做了一个POI的用户模式解析execl的介绍,是因为该模式对于开发时的灵活性,可操作性上较为方便,且该模式对于复杂的EXECL操作有明显的优势。POI用户模式对于EXECL的写操作(创建固定格式的复杂的交叉报表),可以轻松完成,因此会先简单介绍。但是,凡事都有例外,有优点固然也会有缺点。例如:当对于一个开发系统有性能上的要求时,尤其是对于大数据量的性能要求时,POI的用户模式,显然会比较吃力,下面就可以采用SAX——POI事件模式替代。
下面进入正文,依然采用的是MAVEN+SPRING BOOT+MYBATIS jdk1.8软件环境,WINDOW系统
一,需要导的MAVEN SAX包
?
123456789101112 <dependency> <groupId>sax</groupId> <artifactId>sax</artifactId> <version>2.0.1</version> </dependency> <!-- SAX驱动 --> <dependency> <groupId>xerces</groupId> <artifactId>xercesImpl</artifactId> <version>2.10.0</version> </dependency>
下面先贴代码,再做说明:
?
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 public class SaxCell { /** * * 记录当前循环行的每一个单元格的值的开始列和字符长度 * */ private int start; private int length; private CellDataType nextDataType; private char[] ch; private String lastIndex; public String getLastIndex(){ return lastIndex; } public void setLastIndex(String lastIndex){ this.lastIndex = lastIndex; } public char[] getCh(){ return ch; } public void setCh(char[] ch){ this.ch = ch; } public CellDataType getCellDataType(){ return nextDataType; } public void setCextDataType(CellDataType nextDataType){ this.nextDataType = nextDataType; } public int getStart() { return start; } public void setStart(int start) { this.start = start; } public int getLength() { return length; } public void setLength(int length) { this.length = length; } public SaxCell(){} //改构造方法会将execl中的每一行的具体信息一同存储下来 public SaxCell(int start,int lengxth,CellDataType nextDataType,char[] ch,String lastIndex){ this.start = start; thi