没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Spring Boot Excel文件导出下载实现代码文件导出下载实现代码
带领我们直接实现Excel文件的直接导出下载,后续开发不需要开发很多代码,直接继承已经写好的代码,增加
一个Xml配置就可以直接导出。具体实现代码大家跟随小编一起通过本文学习吧
Spring Boot Excel 文件导出文件导出
目标:目标:
实现Excel文件的直接导出下载,后续开发不需要开发很多代码,直接继承已经写好的代码,增加一个Xml配置就可以直接导
出。
实现:实现:
1、抽象类 BaseExcelView 继承 webmvc 的 AbstractXlsxStreamingView 抽象类, AbstractXlsxStreamingView 是webmvc继
承了最顶层View接口,是可以直接大量数据导出的不会造成内存泄漏问题,即 SXSSFWorkbook 解决了内存问题, 导出只支
持xlsx类型文件。
抽象类代码 BaseExcelView :
public abstract class BaseExcelView extends AbstractXlsxStreamingView {
private static final Logger logger = LoggerFactory.getLogger(BaseExcelView.class);
/**
* 获取导出文件名
*
* @return
*/
abstract protected String getFileName();
/**
* 获取表单名称
*
* @return
*/
abstract protected String getSheetName();
/**
* 获取标题栏名称
*
* @return
*/
abstract protected String[] getTitles();
/**
* 获取列宽
*
* @return
*/
abstract protected short[] getColumnWidths();
/**
* 构造内容单元格
*
* @param sheet
*/
abstract protected void buildContentCells(Sheet sheet);
@Override
protected void buildExcelDocument(
Map<String, Object> model, Workbook workbook, HttpServletRequest request, HttpServletResponse response)
throws Exception {
// 构造标题单元格 SXSSFWorkbook
Sheet sheet = buildTitleCells(workbook);
// 构造内容单元格
buildContentCells(sheet);
// 设置响应头
setResponseHead(request, response);
}
/**
* 设置响应头
*
* @param response
* @throws IOException
*/
protected void setResponseHead(HttpServletRequest request,
HttpServletResponse response) throws IOException {
// 文件名
String fileName = getFileName();
String userAgent = request.getHeader("user-agent").toLowerCase();
logger.info("客户端请求头内容:");
logger.info("user-agent 值: {}", userAgent);
if (userAgent != null) {
资源评论
weixin_38671628
- 粉丝: 7
- 资源: 942
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功