1.使用系统样式
TemplateExportParams和ExportParams 两个参数类都有一个属性
/**
* Excel 导出style
*/
private Class<?> style = ExcelExportStylerDefaultImpl.class;
默认就是默认的style类,只是做了一个居中换行类的布局
这里用class当作参数也是无耐之举,系统和用户自定义总需要一个传递的地方,但是系统类名记起来有增加负担,让用户自己new也是折腾
还不如用发射new 算了,所以传入的是class 当然这个ExcelExportStylerDefaultImpl.class有点难记
提供了一个枚举
public enum ExcelStyleType {
NONE("默认样式", ExcelExportStylerDefaultImpl.class),
BORDER("边框样式", ExcelExportStylerBorderImpl.class),
COLOR("间隔行样式", ExcelExportStylerColorImpl.class);
可以用枚举直接设置就不用大家记忆这么费劲了
2.自定义样式
方法1. 实现IExcelExportStyler 这个接口,然后做一下初始化
方法2 继承AbstractExcelExportStyler 然后实现几个方法
/**
* 列表头样式
* @param headerColor
* @return
*/
public CellStyle getHeaderStyle(short headerColor);
/**
* 标题样式
* @param color
* @return
*/
public CellStyle getTitleStyle(short color);
/**
* 获取样式方法-------------------抽象类帮助实现了
* @param map
* @param needOne
* @param isWrap
* @return
*/
public CellStyle getStyles(boolean needOne, boolean isWrap);
/**
* 创建当行样式
* @param workbook
* @param isWarp
* @return
*/
public CellStyle createOneStyle(Workbook workbook, boolean isWarp);
/**
* 创建双行样式
* @param workbook
* @param isWarp
* @return
*/
public CellStyle createDoubleStyle(Workbook workbook, boolean isWarp);
但是构造器必须是这样的,在反射创建对象的时候是调用的有构造参数的方法
/**
* 样式的默认实现
* @author JueYue
* @date 2015年1月9日 下午5:36:08
*/
public class ExcelExportStylerDefaultImpl extends AbstractExcelExportStyler implements
IExcelExportStyler {
public ExcelExportStylerDefaultImpl(Workbook workbook) {
super.createStyles(workbook);
}
}
进行初始化,也是构建一个style
这样程序就会调用你自己定义的style了,而不用改代码了