一、根据模板导出多sheet页
1、excel 模板
2、模板的语法,首列不加t
空格分割
三目运算 {
{test ? obj:obj2}}
n: 表示 这个cell是数值类型 {
{n:}}
le: 代表长度{
{le:()}} 在if/else 运用{
{le:() > 8 ? obj1 : obj2}}
fd: 格式化时间 {
{fd:(obj;yyyy-MM-dd)}}
fn: 格式化数字 {
{fn:(obj;###.00)}}
fe: 遍历数据,创建row
!fe: 遍历数据不创建row
$fe: 下移插入,把当前行,下面的行全部下移.size()行,然后插入
#fe: 横向遍历
v_fe: 横向遍历值
!if: 删除当前列 {
{!if:(test)}}
单引号表示常量值 '' 比如'1' 那么输出的就是 1
&NULL& 空格
]] 换行符 多行遍历导出
sum: 统计数据
整体风格和el表达式类似,大家应该也比较熟悉
采用的写法是{
{}}代表表达式,然后根据表达式里面的数据取值
3、导出代码
@Test
public void fe_map() throws Exception {
try {
TemplateExportParams params = new TemplateExportParams(
"F:\\model.xlsx");
Map<String, Object> map = new HashMap<String, Object>();
map.put("ajdh", "2014-12-25");
List<Map<String, String>> listMap = new ArrayList<Map<String, String>>();
for (int i = 0; i < 4; i++) {
Map<String, String> lm = new HashMap<String, String>();
lm.put("xh", i + 1 + "");
lm.put("wh", i * 10000 + "");
lm.put("zrz", "A001");
lm.put("tm", "设计");
lm.put("rq", "EasyPoi " + i + "期");
lm.put("bgqx", "开源项目");
lm.put