使用easyexcel填充模板数据,并导出excel

这篇具有很好参考价值的文章主要介绍了使用easyexcel填充模板数据,并导出excel。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

导出excel功能非常场景,本片文章记录如何使用模板填充数据后再导出。因直接导出excel数据样式不符合要求,所以做了模板填充然后再导出excel。
效果如下:
easyexcel导出excel文件,模板填入list,excel


一、制作模板

注意:列表数据变量名前面要写点{.id},如果单条数据可以不写。
easyexcel导出excel文件,模板填入list,excel

二、前端代码

使用表单提交:

<% layout('/layouts/default.html', {title: '导出信用用户', libs: ['validate','fileupload']}){ %>
<style type="text/css">
	.delete {
		display: none;
	}
</style>
<div class="main-content">
	<div class="box box-main">
		<div class="box-header with-border">
			<div class="box-tools pull-right">
				<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
			</div>
		</div>
		<#form:form id="inputForm" model="${cshopUser}" action="${ctx}/shop/user/cshopUser/download" method="post" class="form-horizontal">
			<div class="box-body">
				<div class="row">
					<div class="col-xs-12">
						<div class="form-group">
							<label class="control-label col-sm-2"><span class="required">*</span>${text('请选择村庄')}</label>
							<div class="col-sm-10">
								<#form:treeselect id="office" title="乡镇/村庄选择"
								path="office.officeCode" labelPath="office.officeName"
								url="${ctx}/sys/office/treeData"
								class="required" allowClear="true"/>
							</div>
						</div>
					</div>
				</div>
				<div class="box-footer">
					<div class="row">
						<div class=" text-center">
							<button type="submit" class="btn btn-sm btn-primary" id="btnSubmit">${text('导出用户')}</button>&nbsp;
							<button type="button" class="btn btn-sm btn-default" id="btnCancel" onclick="js.closeCurrentTabPage()"><i class="fa fa-reply-all"></i> ${text('关 闭')}</button>
						</div>
					</div>
				</div>
		</#form:form>
	</div>
</div>
<% } %>
<script>
$("#inputForm").validate({
	submitHandler: function(form){
		js.ajaxSubmitForm($('#inputForm'), {
			url:'${ctx}/shop/user/cshopUser/daochu',
			downloadFile:true
		});
    }
});
</script>

三、后端代码

实体代码:

@Data
public class BianGengExcel {
    @ExcelProperty(value = "ID")
    private String id;
    @ExcelProperty(value = "姓名")
    private String name;
    @ExcelProperty(value = "手机号")
    private String phone;

}

controller代码:


    /**
     * 导出用户
     *
     * @param cshopUser
     * @return
     */
    @PostMapping(value = "daochu")
    public String daochu(@Validated CshopUser cshopUser,
                         HttpServletResponse response) {
        List <BianGengExcel> data = cshopUserService.daochu(cshopUser);
        try {
            OutputStream out = response.getOutputStream();
            //文件名需要这样写,不能在setHeader直接写中文名,否则下载的文件名字为空,只有后缀
            response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
            response.setCharacterEncoding("utf-8");
            String fileName = URLEncoder.encode("用户-"+System.currentTimeMillis(), "UTF-8").replaceAll("\\+", "%20");
            response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
            String templateFileName = this.getClass().getResource("/static/moban/daochu_moban.xls").getPath();
            ExcelWriter excelWriter = EasyExcelFactory.write(out,BianGengExcel.class).withTemplate(templateFileName).build();
//            ExcelWriter excelWriter = EasyExcel.write(out).withTemplate(templateFileName).build();
            WriteSheet writeSheet = EasyExcel.writerSheet().build();
            FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.FALSE).build();
            excelWriter.fill(data,fillConfig,writeSheet);
            excelWriter.finish();
            out.flush();
            out.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return renderResult(Global.TRUE, text("导出用户成功!"));
    }

总结

只对jeesite感兴趣可以订阅jeesite专栏。更多实战经验,请关注实战专栏,实战专栏包含了所有jeesite专栏文章。文章来源地址https://www.toymoban.com/news/detail-838393.html

到了这里,关于使用easyexcel填充模板数据,并导出excel的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • easyexcel poi根据模板导出Excel

    参考:https://blog.csdn.net/weixin_45742032/article/details/119593288?spm=1001.2101.3001.6650.1utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-119593288-blog-86538258.235%5Ev38%5Epc_relevant_anti_t3_basedepth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-11959328

    2024年02月10日
    浏览(34)
  • 工具类——Java导出EXCEL2(设置样式、加载并填充图片、加载指定模板、大数据量设置窗口大小与刷新频率)

    书接上篇:工具类——Java 浏览器导入、导出Excel(Java import、export)demo POI的导出方式:创建/加载Workbook,设置样式,填充数据,然后生成本地临时文件,最终以浏览器的形式打开,完成整个导出动作。 demo如下, demo如下, XSSFClientAnchor anchor = new XSSFClientAnchor(int dx1, int dy1,

    2024年02月01日
    浏览(29)
  • EasyExcel的使用:入门到模板填充

    官网:https://easyexcel.opensource.alibaba.com/ Github:https://github.com/alibaba/easyexcel 3.0.5版本的JavaDoc:https://javadoc.io/doc/com.alibaba/easyexcel/3.0.5/index.html 准备Excel文件 准备Excel文件对应的实体类: Student 注意:在没有任何配置的情况下,Excel中的数据列顺序要与实体类的属性顺序保持一致

    2024年02月02日
    浏览(24)
  • 使用EasyExcel实现excel导出,支持百万大数据量导出-----超简单

    通过设置sheet数量,完成分批导出,每个sheet存100万数据,每次查询插入20万数据,避免超时,内存溢出等问题,可以根据服务器配置调整参数设置。 1.引入依赖 2.创建对应的实体类 @ExcelProperty设置的就是导出的列名,还可以设置排序等等 3.核心导出代码 4.配置类 至此就完成导

    2024年02月11日
    浏览(46)
  • 后端:使用easyExcel实现解析Excel文件读取数据。前端:Excel模板下载、前端上传文件

            本篇是EasyExcel快速入门知识,讲解如何读取Excel文件,对Excel中错误信息如空字符、必填项为空、表格格式校验做到处理 ,并给出了实际项目中示例代码;为什么要使用easyexcel;原因是相比于poi,easyexcel更加轻量级,读取写入API方便,并且在工作中占用内存较小;

    2024年02月05日
    浏览(48)
  • 使用EasyExcel实现Excel的导入导出

    在真实的开发者场景中,经常会使用excel作为数据的载体,进行数据导入和导出的操作,使用excel的导入和导出有很多种解决方案,本篇记录一下EasyExcel的使用。 EasyExcel是一个开源的项目,是阿里开发的。EasyExcel可以简化Excel表格的导入和导出操作,使用起来简单快捷,易上手

    2023年04月15日
    浏览(36)
  • JAVA(EasyExcel)通过远程调用模板 导出数据 复杂表头

    最近接手一个需求,单组数据的显示,也有多组数据的显示,查了好多文章,都不是很明白.但是这篇文章和我的需求差不多非常相似(链接放在文末),根据这篇文章然后将自己的实现过程记录了下来,以防之后再用到. 这是我需要导出的excel格式 开头是单条数据的展示 之后是多条数据

    2024年02月03日
    浏览(37)
  • 使用EasyExcel实现Excel表格的导入导出

    Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。 easyexcel重

    2024年02月12日
    浏览(31)
  • Excel表格数据填充到word模板中

            这个需求源于要批量生成模板一样的word文档。当然可以直接使用word的邮件合并功能,点菜单就可以实现,示例代码如下:        要使用这些代码,需要引用2个库microsoft word,microsoft office,如果使用到客体界面的话,还要引用microsoft Forms。本代码可以同时利用两个

    2024年02月15日
    浏览(27)
  • Java——使用EasyExcel导出动态列的Excel

    多多点赞,会变好看! 多多留言,会变有钱! 有些时候列表的列可能是动态的,需要根据动态表头导出Excel文件,这时候可以使用下面的方法解决: 静态列导出代码:

    2024年02月15日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包