// Path: excel/src/main/java/com/bing/excel/writer/exception/ExcelOutException.java
// public class ExcelOutException extends RuntimeException {
// 
// 	public ExcelOutException(String message, Throwable cause) {
// 		super(message, cause);
// 	}
// 
// 	public ExcelOutException(String message) {
// 		super(message);
// 	}
// 
// 	public ExcelOutException(Throwable cause) {
// 		super(cause);
// 	}
// 
// }


import java.io.IOException;
import java.io.OutputStream;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.streaming.SXSSFSheet;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import com.bing.excel.writer.exception.ExcelOutException;
package com.bing.excel.writer;




public class SXSSFWriterHandler extends AbstractWriteHandler {
	private transient OutputStream os;
	private SXSSFWorkbook wb;
	public SXSSFWriterHandler(Workbook wb, OutputStream outStream) {
		super(wb, outStream);
		this.os=super.os;
		this.wb=(SXSSFWorkbook) wb;
	}
	
	public SXSSFWriterHandler(Workbook wb, String path) {
		super(wb, path);
		this.os=super.os;
		this.wb=(SXSSFWorkbook) wb;
	}

	@ Override
	public void flush() {
		try {
			if (os != null) {
				super.flush();
				this.os.close();
				this.wb.dispose();
			}
		} catch (IOException e) {
// Path: excel/src/main/java/com/bing/excel/writer/exception/ExcelOutException.java
// public class ExcelOutException extends RuntimeException {
// 
// 	public ExcelOutException(String message, Throwable cause) {
// 		super(message, cause);
// 	}
// 
// 	public ExcelOutException(String message) {
// 		super(message);
// 	}
// 
// 	public ExcelOutException(Throwable cause) {
// 		super(cause);
// 	}
// 
// }


// Path: excel/src/main/java/com/bing/excel/writer/SXSSFWriterHandler.java
import java.io.IOException;
import java.io.OutputStream;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.streaming.SXSSFSheet;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import com.bing.excel.writer.exception.ExcelOutException;

package com.bing.excel.writer;




public class SXSSFWriterHandler extends AbstractWriteHandler {
	private transient OutputStream os;
	private SXSSFWorkbook wb;
	public SXSSFWriterHandler(Workbook wb, OutputStream outStream) {
		super(wb, outStream);
		this.os=super.os;
		this.wb=(SXSSFWorkbook) wb;
	}
	
	public SXSSFWriterHandler(Workbook wb, String path) {
		super(wb, path);
		this.os=super.os;
		this.wb=(SXSSFWorkbook) wb;
	}

	@ Override
	public void flush() {
		try {
			if (os != null) {
				super.flush();
				this.os.close();
				this.wb.dispose();
			}
		} catch (IOException e) {
			throw new ExcelOutException("Happen exception when flush", e);