mirror of https://github.com/alibaba/easyexcel
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
407 lines
11 KiB
407 lines
11 KiB
package com.alibaba.excel; |
|
|
|
import java.io.File; |
|
import java.io.InputStream; |
|
import java.io.OutputStream; |
|
|
|
import com.alibaba.excel.read.builder.ExcelReaderBuilder; |
|
import com.alibaba.excel.read.builder.ExcelReaderSheetBuilder; |
|
import com.alibaba.excel.read.listener.ReadListener; |
|
import com.alibaba.excel.write.builder.ExcelWriterBuilder; |
|
import com.alibaba.excel.write.builder.ExcelWriterSheetBuilder; |
|
import com.alibaba.excel.write.builder.ExcelWriterTableBuilder; |
|
|
|
/** |
|
* Reader and writer factory class |
|
* |
|
* <h1>Quick start</h1> |
|
* <h2>Read</h2> |
|
* <h3>Sample1</h3> |
|
* |
|
* <h3>Sample2</h3> |
|
* |
|
* <h2>Write</h2> |
|
* |
|
* <h3>Sample1</h3> |
|
* |
|
* <h3>Sample2</h3> |
|
* |
|
* |
|
* |
|
* @author jipengfei |
|
*/ |
|
public class EasyExcelFactory { |
|
|
|
|
|
/** |
|
* Build excel the write |
|
* |
|
* @return |
|
*/ |
|
public static ExcelWriterBuilder write() { |
|
return new ExcelWriterBuilder(); |
|
} |
|
|
|
/** |
|
* Build excel the write |
|
* |
|
* @param file |
|
* File to write |
|
* @return Excel writer builder |
|
*/ |
|
public static ExcelWriterBuilder write(File file) { |
|
return write(file, null); |
|
} |
|
|
|
/** |
|
* Build excel the write |
|
* |
|
* @param file |
|
* File to write |
|
* @param head |
|
* Annotate the class for configuration information |
|
* @return Excel writer builder |
|
*/ |
|
public static ExcelWriterBuilder write(File file, Class head) { |
|
ExcelWriterBuilder excelWriterBuilder = new ExcelWriterBuilder(); |
|
excelWriterBuilder.file(file); |
|
if (head != null) { |
|
excelWriterBuilder.head(head); |
|
} |
|
return excelWriterBuilder; |
|
} |
|
|
|
/** |
|
* Build excel the write |
|
* |
|
* @param pathName |
|
* File path to write |
|
* @return Excel writer builder |
|
*/ |
|
public static ExcelWriterBuilder write(String pathName) { |
|
return write(pathName, null); |
|
} |
|
|
|
/** |
|
* Build excel the write |
|
* |
|
* @param pathName |
|
* File path to write |
|
* @param head |
|
* Annotate the class for configuration information |
|
* @return Excel writer builder |
|
*/ |
|
public static ExcelWriterBuilder write(String pathName, Class head) { |
|
ExcelWriterBuilder excelWriterBuilder = new ExcelWriterBuilder(); |
|
excelWriterBuilder.file(pathName); |
|
if (head != null) { |
|
excelWriterBuilder.head(head); |
|
} |
|
return excelWriterBuilder; |
|
} |
|
|
|
/** |
|
* Build excel the write |
|
* |
|
* @param outputStream |
|
* Output stream to write |
|
* @return Excel writer builder |
|
*/ |
|
public static ExcelWriterBuilder write(OutputStream outputStream) { |
|
return write(outputStream, null); |
|
} |
|
|
|
/** |
|
* Build excel the write |
|
* |
|
* @param outputStream |
|
* Output stream to write |
|
* @param head |
|
* Annotate the class for configuration information. |
|
* @return Excel writer builder |
|
*/ |
|
public static ExcelWriterBuilder write(OutputStream outputStream, Class head) { |
|
ExcelWriterBuilder excelWriterBuilder = new ExcelWriterBuilder(); |
|
excelWriterBuilder.file(outputStream); |
|
if (head != null) { |
|
excelWriterBuilder.head(head); |
|
} |
|
return excelWriterBuilder; |
|
} |
|
|
|
/** |
|
* Build excel the <code>writerSheet</code> |
|
* |
|
* @return Excel sheet writer builder |
|
*/ |
|
public static ExcelWriterSheetBuilder writerSheet() { |
|
return writerSheet(null, null); |
|
} |
|
|
|
/** |
|
* Build excel the <code>writerSheet</code> |
|
* |
|
* @param sheetNo |
|
* Index of sheet,0 base. |
|
* @return Excel sheet writer builder. |
|
*/ |
|
public static ExcelWriterSheetBuilder writerSheet(Integer sheetNo) { |
|
return writerSheet(sheetNo, null); |
|
} |
|
|
|
/** |
|
* Build excel the 'writerSheet' |
|
* |
|
* @param sheetName |
|
* The name of sheet. |
|
* @return Excel sheet writer builder. |
|
*/ |
|
public static ExcelWriterSheetBuilder writerSheet(String sheetName) { |
|
return writerSheet(null, sheetName); |
|
} |
|
|
|
/** |
|
* Build excel the 'writerSheet' |
|
* |
|
* @param sheetNo |
|
* Index of sheet,0 base. |
|
* @param sheetName |
|
* The name of sheet. |
|
* @return Excel sheet writer builder. |
|
*/ |
|
public static ExcelWriterSheetBuilder writerSheet(Integer sheetNo, String sheetName) { |
|
ExcelWriterSheetBuilder excelWriterSheetBuilder = new ExcelWriterSheetBuilder(); |
|
if (sheetNo != null) { |
|
excelWriterSheetBuilder.sheetNo(sheetNo); |
|
} |
|
if (sheetName != null) { |
|
excelWriterSheetBuilder.sheetName(sheetName); |
|
} |
|
return excelWriterSheetBuilder; |
|
} |
|
|
|
/** |
|
* Build excel the <code>writerTable</code> |
|
* |
|
* @return Excel table writer builder. |
|
*/ |
|
public static ExcelWriterTableBuilder writerTable() { |
|
return writerTable(null); |
|
} |
|
|
|
/** |
|
* Build excel the 'writerTable' |
|
* |
|
* @param tableNo |
|
* Index of table,0 base. |
|
* @return Excel table writer builder. |
|
*/ |
|
public static ExcelWriterTableBuilder writerTable(Integer tableNo) { |
|
ExcelWriterTableBuilder excelWriterTableBuilder = new ExcelWriterTableBuilder(); |
|
if (tableNo != null) { |
|
excelWriterTableBuilder.tableNo(tableNo); |
|
} |
|
return excelWriterTableBuilder; |
|
} |
|
|
|
/** |
|
* Build excel the read |
|
* |
|
* @return Excel reader builder. |
|
*/ |
|
public static ExcelReaderBuilder read() { |
|
return new ExcelReaderBuilder(); |
|
} |
|
|
|
/** |
|
* Build excel the read |
|
* |
|
* @param file |
|
* File to read. |
|
* @return Excel reader builder. |
|
*/ |
|
public static ExcelReaderBuilder read(File file) { |
|
return read(file, null, null); |
|
} |
|
|
|
/** |
|
* Build excel the read |
|
* |
|
* @param file |
|
* File to read. |
|
* @param readListener |
|
* Read listener. |
|
* @return Excel reader builder. |
|
*/ |
|
public static ExcelReaderBuilder read(File file, ReadListener readListener) { |
|
return read(file, null, readListener); |
|
} |
|
|
|
/** |
|
* Build excel the read |
|
* |
|
* @param file |
|
* File to read. |
|
* @param head |
|
* Annotate the class for configuration information. |
|
* @param readListener |
|
* Read listener. |
|
* @return Excel reader builder. |
|
*/ |
|
public static ExcelReaderBuilder read(File file, Class head, ReadListener readListener) { |
|
ExcelReaderBuilder excelReaderBuilder = new ExcelReaderBuilder(); |
|
excelReaderBuilder.file(file); |
|
if (head != null) { |
|
excelReaderBuilder.head(head); |
|
} |
|
if (readListener != null) { |
|
excelReaderBuilder.registerReadListener(readListener); |
|
} |
|
return excelReaderBuilder; |
|
} |
|
|
|
/** |
|
* Build excel the read |
|
* |
|
* @param pathName |
|
* File path to read. |
|
* @return Excel reader builder. |
|
*/ |
|
public static ExcelReaderBuilder read(String pathName) { |
|
return read(pathName, null, null); |
|
} |
|
|
|
/** |
|
* Build excel the read |
|
* |
|
* @param pathName |
|
* File path to read. |
|
* @param readListener |
|
* Read listener. |
|
* @return Excel reader builder. |
|
*/ |
|
public static ExcelReaderBuilder read(String pathName, ReadListener readListener) { |
|
return read(pathName, null, readListener); |
|
} |
|
|
|
/** |
|
* Build excel the read |
|
* |
|
* @param pathName |
|
* File path to read. |
|
* @param head |
|
* Annotate the class for configuration information. |
|
* @param readListener |
|
* Read listener. |
|
* @return Excel reader builder. |
|
*/ |
|
public static ExcelReaderBuilder read(String pathName, Class head, ReadListener readListener) { |
|
ExcelReaderBuilder excelReaderBuilder = new ExcelReaderBuilder(); |
|
excelReaderBuilder.file(pathName); |
|
if (head != null) { |
|
excelReaderBuilder.head(head); |
|
} |
|
if (readListener != null) { |
|
excelReaderBuilder.registerReadListener(readListener); |
|
} |
|
return excelReaderBuilder; |
|
} |
|
|
|
/** |
|
* Build excel the read |
|
* |
|
* @param inputStream |
|
* Input stream to read. |
|
* @return Excel reader builder. |
|
*/ |
|
public static ExcelReaderBuilder read(InputStream inputStream) { |
|
return read(inputStream, null, null); |
|
} |
|
|
|
/** |
|
* Build excel the read |
|
* |
|
* @param inputStream |
|
* Input stream to read. |
|
* @param readListener |
|
* Read listener. |
|
* @return Excel reader builder. |
|
*/ |
|
public static ExcelReaderBuilder read(InputStream inputStream, ReadListener readListener) { |
|
return read(inputStream, null, readListener); |
|
} |
|
|
|
/** |
|
* Build excel the read |
|
* |
|
* @param inputStream |
|
* Input stream to read. |
|
* @param head |
|
* Annotate the class for configuration information. |
|
* @param readListener |
|
* Read listener. |
|
* @return Excel reader builder. |
|
*/ |
|
public static ExcelReaderBuilder read(InputStream inputStream, Class head, ReadListener readListener) { |
|
ExcelReaderBuilder excelReaderBuilder = new ExcelReaderBuilder(); |
|
excelReaderBuilder.file(inputStream); |
|
if (head != null) { |
|
excelReaderBuilder.head(head); |
|
} |
|
if (readListener != null) { |
|
excelReaderBuilder.registerReadListener(readListener); |
|
} |
|
return excelReaderBuilder; |
|
} |
|
|
|
/** |
|
* Build excel the 'readSheet' |
|
* |
|
* @return Excel sheet reader builder. |
|
*/ |
|
public static ExcelReaderSheetBuilder readSheet() { |
|
return readSheet(null, null); |
|
} |
|
|
|
/** |
|
* Build excel the 'readSheet' |
|
* |
|
* @param sheetNo |
|
* Index of sheet,0 base. |
|
* @return Excel sheet reader builder. |
|
*/ |
|
public static ExcelReaderSheetBuilder readSheet(Integer sheetNo) { |
|
return readSheet(sheetNo, null); |
|
} |
|
|
|
/** |
|
* Build excel the 'readSheet' |
|
* |
|
* @param sheetName |
|
* The name of sheet. |
|
* @return Excel sheet reader builder. |
|
*/ |
|
public static ExcelReaderSheetBuilder readSheet(String sheetName) { |
|
return readSheet(null, sheetName); |
|
} |
|
|
|
/** |
|
* Build excel the 'readSheet' |
|
* |
|
* @param sheetNo |
|
* Index of sheet,0 base. |
|
* @param sheetName |
|
* The name of sheet. |
|
* @return Excel sheet reader builder. |
|
*/ |
|
public static ExcelReaderSheetBuilder readSheet(Integer sheetNo, String sheetName) { |
|
ExcelReaderSheetBuilder excelReaderSheetBuilder = new ExcelReaderSheetBuilder(); |
|
if (sheetNo != null) { |
|
excelReaderSheetBuilder.sheetNo(sheetNo); |
|
} |
|
if (sheetName != null) { |
|
excelReaderSheetBuilder.sheetName(sheetName); |
|
} |
|
return excelReaderSheetBuilder; |
|
} |
|
}
|
|
|