EXCEL导出组件API文档

一、适用场景:

场景A(无模板场景):, 根据表格数据信息,生成excel(常用于单一表格)

场景B(带模板场景): 根据表格数据信息和现有模板文件,生成excel(常用于有复杂样式的表格)

二.提供功能

1.ExcelConfig中定义了可配置的属性:

startLine:数据的开始行号,默认为0(第0行通常放表格的表头),但在场景B中通常起始行号不为0,要根据待赋值数据的起始行号来定义此值。

              e.g. excel模板中现有内容结束行号为6,则数据开始行号为7(下标为6),此时传入的startLine参数应为6。

dateFormate:数据中日期的格式,默认为"yyyy-MM-dd"。

suffix:生成文件后缀,可选参数为xlsx(默认,2007以后版本的后缀名)和xls(2003以前版本的后缀名)。

columnWidth:列宽数组:默认单位为px,数组大小需跟列表的列数相同,否则设置失败,按等分处理。

sheetName :表单名称(适用于无模板导出,带模板场景可为空),默认名称“sheet1”。

sheetIndex :表单索引序号(适用于带模板导出,无模板场景可为空),默认sheetIndex = 0。

2.ExcelExport(无模板实现类)

支持方法:

(1)public static Workbook export(ExcelTitle[] arrFieldsList lstModelExcelConfig config);

用途:无模板的导出常用方法。

参数:arrFields,(必填)表格标题model列表(key:列的属性名,对应第二个参数中model的成员变量或者Map的key值,value:列的描述名)

   lstModel,(必填)表格数据列表,可以是model或者Map

   config,(非必填)excel的配置model,具体属性见ExcelConfig的定义。

(2)public static Workbook export(Workbook workbookExcelTitle[] arrFieldsList lstModelExcelConfig config);

用途:创建带有多个sheet页的excel时使用的方法,通常结合方法(1)一起使用。

参数:workbook,(必填)excel工作簿对象

   lstModel,(必填)表格数据列表,可以是model或者Map(同上)

   config,(非必填)excel的配置model,具体属性见ExcelConfig的定义。(同上)

3.ExcelExportTemplate(有模板实现类)

支持方法:

(1)public static Workbook exportByTemplate(InputStream inString[] fieldsList lstModelExcelConfig config);

用途:有模板的导出常用方法。

参数:in,模板文件输入流

   fields,(必填)表格数据域,如{“name”,"age","phoneNum"}

   lstModel,(必填)表格数据列表,可以是model或者Map

   config,(必填)excel的配置model,具体属性见ExcelConfig的定义。

(2)public static Workbook export(Workbook workbookString[] fieldsList lstModelExcelConfig config);

用途:创建带有多个sheet页的excel时使用的方法,通常结合方法(1)一起使用。

参数:workbook,(必填)excel工作簿对象 

   fields,(必填)表格数据域,如{“name”,"age","phoneNum"}

   lstModel,(必填)表格数据列表,可以是model或者Map

   config,(必填)excel的配置model,具体属性见ExcelConfig的定义。

(3)public static Workbook exportByTemplateDynamicTitle(InputStream inExcelTitle[] arrFieldsList lstModelExcelConfig config);

用途:有模板+动态表头的导出常用方法。

参数:in,模板文件输入流

   arrFields,(必填)表格标题model列表(key:列的属性名,对应第二个参数中model的成员变量或者Map的key值,value:列的描述名)

   lstModel,(必填)表格数据列表,可以是model或者Map

   config,(必填)excel的配置model,具体属性见ExcelConfig的定义。

(4)public static Workbook exportByTemplateDynamicTitle(Workbook workbookExcelTitle[] arrFieldsList lstModelExcelConfig config);

用途:创建带有多个sheet页的excel时使用的方法,通常结合方法(3)一起使用。

参数:workbook,(必填)excel工作簿对象 

   arrFields,(必填)表格标题model列表(key:列的属性名,对应第二个参数中model的成员变量或者Map的key值,value:列的描述名)

   lstModel,(必填)表格数据列表,可以是model或者Map

   config,(必填)excel的配置model,具体属性见ExcelConfig的定义。

4.ExcelStyle(常用样式类)

目前只定义了两种常用样式: 列头样式(headerCellStyle)和单元格样式(cellStyle),导出实现类中(ExcelExport和ExcelExportTemplate)使用,应用程序通常不会用到。

5.ExcelUtils(导出常用工具类)

(1)public static Workbook getWorkBook(String suffix);

 public static Workbook getWorkBookTemplate(String suffixInputStream in);

用途:根据配置中的suffix的值来获取工作簿对象

参数:suffix,(必填)待生成文件的后缀,

   in,(必填)模板文件的输入流

(2)public static Map, ?> objectToMap(Object obj);

用途:将对象转为Map

参数:obj,(必填)待转换对象

(3)public static String cellvalueFormat(Object objExcelConfig config);

用途:表格数据格式化

参数:obj,(必填)待格式化数据

   config,(非必填)配置对象

 三.注意事项

1.数据列表的最大数量,目前支持的最大cell数(最大cell数=记录数*每条记录的cell数)限制为 size<500000;

2.无模板场景的config可以为空,组件会使用默认参数;

   有模板场景的config为必填项,此处目的是为了保证使用者不会漏配正文的起始行数(startLine)的参数,否则组件默认从第0行开始,即便生成了excel,也会覆盖已有内容;

四. 测试类及测试文件

源码+测试类+测试文件>>>

你可能感兴趣的:(工具类)