forked from fanruan/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.
105 lines
2.8 KiB
105 lines
2.8 KiB
5 years ago
|
package com.alibaba.excel.write.builder;
|
||
|
|
||
|
import java.util.ArrayList;
|
||
|
import java.util.Collection;
|
||
|
|
||
|
import com.alibaba.excel.metadata.AbstractParameterBuilder;
|
||
|
import com.alibaba.excel.write.handler.WriteHandler;
|
||
|
import com.alibaba.excel.write.metadata.WriteBasicParameter;
|
||
|
|
||
|
/**
|
||
|
* Build ExcelBuilder
|
||
|
*
|
||
|
* @author Jiaju Zhuang
|
||
|
*/
|
||
|
public abstract class AbstractExcelWriterParameterBuilder<T extends AbstractExcelWriterParameterBuilder,
|
||
|
C extends WriteBasicParameter> extends AbstractParameterBuilder<T, C> {
|
||
|
/**
|
||
|
* Writes the head relative to the existing contents of the sheet. Indexes are zero-based.
|
||
|
*
|
||
|
* @param relativeHeadRowIndex
|
||
|
* @return
|
||
|
*/
|
||
|
public T relativeHeadRowIndex(Integer relativeHeadRowIndex) {
|
||
|
parameter().setRelativeHeadRowIndex(relativeHeadRowIndex);
|
||
|
return self();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Need Head
|
||
|
*/
|
||
|
public T needHead(Boolean needHead) {
|
||
|
parameter().setNeedHead(needHead);
|
||
|
return self();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Custom write handler
|
||
|
*
|
||
|
* @param writeHandler
|
||
|
* @return
|
||
|
*/
|
||
|
public T registerWriteHandler(WriteHandler writeHandler) {
|
||
|
if (parameter().getCustomWriteHandlerList() == null) {
|
||
|
parameter().setCustomWriteHandlerList(new ArrayList<WriteHandler>());
|
||
|
}
|
||
|
parameter().getCustomWriteHandlerList().add(writeHandler);
|
||
|
return self();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Use the default style.Default is true.
|
||
|
*
|
||
|
* @param useDefaultStyle
|
||
|
* @return
|
||
|
*/
|
||
|
public T useDefaultStyle(Boolean useDefaultStyle) {
|
||
|
parameter().setUseDefaultStyle(useDefaultStyle);
|
||
|
return self();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Whether to automatically merge headers.Default is true.
|
||
|
*
|
||
|
* @param automaticMergeHead
|
||
|
* @return
|
||
|
*/
|
||
|
public T automaticMergeHead(Boolean automaticMergeHead) {
|
||
|
parameter().setAutomaticMergeHead(automaticMergeHead);
|
||
|
return self();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Ignore the custom columns.
|
||
|
*/
|
||
|
public T excludeColumnIndexes(Collection<Integer> excludeColumnIndexes) {
|
||
|
parameter().setExcludeColumnIndexes(excludeColumnIndexes);
|
||
|
return self();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Ignore the custom columns.
|
||
|
*/
|
||
|
public T excludeColumnFiledNames(Collection<String> excludeColumnFiledNames) {
|
||
|
parameter().setExcludeColumnFiledNames(excludeColumnFiledNames);
|
||
|
return self();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Only output the custom columns.
|
||
|
*/
|
||
|
public T includeColumnIndexes(Collection<Integer> includeColumnIndexes) {
|
||
|
parameter().setIncludeColumnIndexes(includeColumnIndexes);
|
||
|
return self();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Only output the custom columns.
|
||
|
*/
|
||
|
public T includeColumnFiledNames(Collection<String> includeColumnFiledNames) {
|
||
|
parameter().setIncludeColumnFiledNames(includeColumnFiledNames);
|
||
|
return self();
|
||
|
}
|
||
|
|
||
|
}
|