easyexcel动态列表头导出加前端示例
时间: 2024-12-08 12:15:02 浏览: 14
EasyExcel是一个阿里巴巴开源的Excel数据导入导出工具,它支持动态列名和数据填充功能。动态列表头导出是指在生成Excel文件时,允许你通过变量或者表达式动态地设置列标题,而不是固定死在代码里。
前端示例通常涉及到将数据从后端服务获取到,然后利用EasyExcel的API进行处理,并将结果以表格形式展示出来。以下是一个简单的步骤:
1. **后端Java代码** (假设使用Spring Boot):
```java
@Autowired
private EasyExcelWriter writer;
@RequestMapping("/export")
public void exportDynamicHeaders(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<Map<String, Object>> data = // 获取你的数据源,比如数据库查询结果
String[] headers = { "动态列1", "${params['column2']}" }; // 动态列头,可以使用request参数
try (OutputStream out = response.getOutputStream()) {
writer.write(out, data, headers);
}
}
```
2. **前端HTML+JavaScript** 示例:
```html
<button onclick="exportData()">点击导出</button>
<script>
function exportData() {
var column2 = document.getElementById('column2Input').value; // 假设有一个输入框用于提供动态值
fetch('/export', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ column2: column2 }) // 将参数序列化并发送
})
.then(response => response.blob())
.then(blob => {
saveAs(blob, 'output.xlsx');
});
}
</script>
```
在这个例子中,前端通过用户填写的数据触发请求,传递给后端,后端再使用EasyExcel动态生成Excel内容。
阅读全文