$ref:$.t easypoi
时间: 2025-03-05 10:13:11 浏览: 35
### EasyPOI 中 `$ref` 和 `$.t` 的使用方法
在EasyPOI中,模板引擎支持多种表达式的解析方式来处理数据填充。对于特定的标签和变量引用,以下是关于 `$ref` 和 `$.t` 的具体说明:
#### `$ref`
此属性用于指定对象引用路径,在Excel导出场景下尤为有用。通过设置单元格中的公式或复杂的数据结构链接到Java实体类字段。
例如,当需要在一个表格内显示员工信息及其部门名称时,可以这样定义:
```java
// 假设Employee类中有Department类型的department成员变量
public class Employee {
private String name;
private Department department;
// getter and setter...
}
```
对应的FreeMarker模板文件(.ftl)里可写成如下形式:
```html
<#list employees as employee>
<tr>
<td>${employee.name}</td> <!-- 显示员工姓名 -->
<td>$ref{employee.department.name}</td> <!-- 使用$ref获取关联表的信息 -->
</tr>
</#list>
```
#### `$.t()`
这是一个内置函数,用来转换日期时间格式化字符串或其他自定义格式化的操作。它接受两个参数:一个是待格式化的值;另一个是要应用的时间模式或者其他格式样式。
假设有一个包含订单列表的对象集合,并且每条记录都有创建时间和金额等信息,则可以在FTL模板中如此编写:
```html
<table border="1">
<thead>
<th>Order ID</th><th>Create Time</th><th>Total Amount (CNY)</th>
</thead>
<tbody>
<#list orders as order>
<tr>
<td>${order.id}</td>
<td>($.t(order.createTime, "yyyy-MM-dd HH:mm:ss"))</td> <!-- 将createTime按指定格式输出 -->
<td>¥${(order.totalAmount?string("0.00"))}</td>
</tr>
</tbody>
</table>
```
上述例子展示了如何利用这些特性简化开发工作并增强灵活性[^1]。
阅读全文
相关推荐


















