> **最低支持版本：10.0.2408.01**

允许通过此功能，在执行表格批量导出前，对即将导出的数据进行处理。

## 使用方法：

### 1、实现接口

在二开服务依赖com.weaver:weaver-ebuilder-form-client，实现接口com.weaver.ebuilder.form.client.service.batch.advice.ExportDataAdvice，并注册为Spring Bean。

例：  
[图片附件未整合: ../../../../../_assets/233044975183462400/001-c68f80018d.png]

### 2、处理数据

在实现类中可以获取到当前导出任务的相关信息，包含操作用户、导出数据、表头、表单信息、自定义参数等等信息。并允许对数据、表头进行修改操作。

BaseExportDataAdviceDto：

```json
{
  "tenantKey": "",
  "employeeId": 0,
  "batchTaskId": 0,
  "index": 0,
  "total": 0,
  "batchDocumentMessage":{},
  "obj": {},
  "listInfo": {},
  "adviceBeanName": "",
  "params": {},
  "@comment": {
    "tenantKey": "租户key",
    "employeeId": "人员id",
    "batchTaskId": "导出任务id",
    "index": "导出任务分批索引",
    "total": "导出任务总批数",
    "batchDocumentMessage": "导出数据，包含表头、单元格样式、数据等完整excel信息，暂无文档，详询导出服务董明",
    "obj": "表单信息",
    "listInfo": "表格信息",
    "adviceBeanName": "增强类bean名称",
    "params": "前端请求导出参数"
  }
}
```

### 3、注册dubbo接口

在\*-dubbo.xml配置文件中添加以下标签："\<dubbo:service ref="ExportAdviceDubboService" interface="com.weaver.ebuilder.form.client.service.batch.ExportAdviceDubboService" timeout="240000" group="group"/\>"，其中ref、interface属性不允许修改，group属性可设定为自定义值，只需确保表单导入配置中填写的group属性值与您指定的RPC group一致即可。

### 4、导出设置

在表单后台配置——导入导出配置——导出后置增强，填写上文中注册的信息即可。在输入框中按以下格式填入信息：beanName:group，其中beanName是您定义的Spring Bean的名称，group是您想要指定的RPC group。如"ConvertEmpExportAdvice:secondev"。

注：如页面未找到“导出后置增强”配置项，可通过访问接口（有该应用管理权限的账号）:

<u>/api/bs/ebuilder/form/impExp/saveCustomExportAdvice?appid={appid}&objId={objId}&adviceBeanName={adviceBeanName}</u>

参数说明：

| 参数名 | 是否必填 | 参数说明 |
| --- | --- | --- |
| appid | 是 | 当前应用id |
| objId | 是 | 当前表单id |
| adviceBeanName | 是 | 需要配置的增强类（即上文中导出后置增强输入框填写的内容） |

注：

1、远程调用超时时间默认1分钟，如需调整可通过nacos添加以下配置到weaver-ebuilder-form-service.properties：

```properties
weaver.rest.web.restRpc.[group/com.weaver.ebuilder.form.client.service.batch.ExportAdviceDubboService].restProperties.connectTimeOut=30000
weaver.rest.web.restRpc.[group/com.weaver.ebuilder.form.client.service.batch.ExportAdviceDubboService].restProperties.writeTimeOut=60000
weaver.rest.web.restRpc.[group/com.weaver.ebuilder.form.client.service.batch.ExportAdviceDubboService].restProperties.readTimeOut=60000
```
