package com.example.exportdemo.controller;
import com.example.exportdemo.domain.StoreInfo;
import com.example.exportdemo.utils.EasyExportUtil;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* @author chenpeng
* @date 2022/9/14
*/
@Controller
@RequestMapping(value="/store")
public class StoreController {
@RequestMapping(value="/exportStoreList")
@ResponseBody
public Object exportStoreSignList(HttpServletResponse response) throws Exception{
//随机生成文件名称
SimpleDateFormat simpleDate = new SimpleDateFormat("yyyyMMdd");
Date date = new Date();
String str = simpleDate.format(date);
Random rand = new Random();
int rannum = (int) (rand.nextDouble()*(99999-10000+1)+10000);
String fileName =str+rannum+".xlsx";
//服务器
// String localFilePath = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest().getSession().getServletContext()
// .getRealPath("//downloadFiles");
//本地
String localFilePath = "d:\\";
//获取模板路径
String templatePath = this.getClass().getClassLoader().getResource("templates/store_template.xlsx").getPath();
List<StoreInfo> storeList = new ArrayList<>();
StoreInfo storeInfo = new StoreInfo();
storeInfo.setCardNum("321321199905071209");
storeInfo.setCardType("身份证");
storeInfo.setInReason("测试");
storeInfo.setInTime(date);
storeInfo.setOrgName("百度");
storeInfo.setUserName("小王");
storeList.add(storeInfo);
EasyExportUtil.exportExcelByTemplate(localFilePath+fileName, templatePath, storeList);
response.setCharacterEncoding("utf-8");
//返回的数据类型
response.setContentType("application/vnd.ms-excel;charset=utf-8");
//响应头
response.setHeader("Content-Disposition", "attachment;fileName="
+ fileName);
FileInputStream fis = null;
try {
fis = new FileInputStream(localFilePath+"//"+fileName);
byte[] data = new byte[fis.available()];
fis.read(data);
response.getOutputStream().write(data);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
//关闭输入输出流
if(fis!=null) {
fis.close();
}
}
return null;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
除了平时简单的数据导出需求外,我们也经常会遇到一些有固定格式或者模板要求的数据导出,这个时候poi导出方式变得复杂且冗长,因此采用EasyExcel的方式进行导出,可以大大提高我们的开发效率和简洁我们的代码。源码案例提供了模板,单个数据写入与列表数据写入以及文件导出的代码,详细的说明请参照个人博客“Excel模板导出”,源码可以让读者更加详细的了解Excel导出的过程和原理。
资源详情
资源评论
资源推荐
收起资源包目录
java基于模板导出Excel表格 (100个子文件)
mvnw.cmd 7KB
.gitignore 395B
.gitignore 227B
export-demo.iml 10KB
maven-wrapper.jar 57KB
StoreController.java 3KB
EasyExportUtil.java 1KB
StoreInfo.java 1KB
ExportDemoApplication.java 335B
ExportDemoApplicationTests.java 227B
HELP.md 850B
mvnw 10KB
maven-wrapper.properties 233B
store_template.xlsx 9KB
uiDesigner.xml 9KB
workspace.xml 4KB
pom.xml 2KB
Project_Default.xml 1KB
jarRepositories.xml 864B
compiler.xml 824B
Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_13_3.xml 736B
Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_7_3.xml 713B
Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml 700B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_13_3.xml 695B
Maven__org_springframework_boot_spring_boot_starter_logging_2_7_3.xml 692B
Maven__org_springframework_boot_spring_boot_starter_tomcat_2_7_3.xml 685B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_13_3.xml 681B
Maven__org_springframework_boot_spring_boot_autoconfigure_2_7_3.xml 678B
Maven__org_springframework_boot_spring_boot_starter_json_2_7_3.xml 671B
Maven__org_springframework_boot_spring_boot_starter_test_2_7_3.xml 671B
Maven__org_springframework_boot_spring_boot_starter_web_2_7_3.xml 664B
Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_65.xml 660B
Maven__com_fasterxml_jackson_core_jackson_annotations_2_13_3.xml 651B
Maven__org_springframework_boot_spring_boot_starter_2_7_3.xml 636B
Maven__org_junit_platform_junit_platform_commons_1_8_2.xml 633B
Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml 633B
Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml 633B
Maven__com_fasterxml_jackson_core_jackson_databind_2_13_3.xml 630B
Maven__org_junit_platform_junit_platform_engine_1_8_2.xml 626B
Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_65.xml 625B
Maven__com_sun_istack_istack_commons_runtime_3_0_12.xml 624B
Maven__org_junit_jupiter_junit_jupiter_params_5_8_2.xml 615B
Maven__org_springframework_boot_spring_boot_test_2_7_3.xml 615B
Maven__org_junit_jupiter_junit_jupiter_engine_5_8_2.xml 615B
Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_65.xml 611B
Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml 611B
Maven__org_springframework_spring_expression_5_3_22.xml 609B
Maven__org_apache_logging_log4j_log4j_to_slf4j_2_17_2.xml 608B
Maven__org_apache_commons_commons_collections4_4_1.xml 605B
Maven__com_sun_activation_jakarta_activation_1_2_2.xml 605B
Maven__com_fasterxml_jackson_core_jackson_core_2_13_3.xml 602B
Maven__org_mockito_mockito_junit_jupiter_4_5_1.xml 598B
Maven__org_junit_jupiter_junit_jupiter_api_5_8_2.xml 594B
Maven__org_springframework_spring_context_5_3_22.xml 588B
Maven__net_bytebuddy_byte_buddy_agent_1_12_13.xml 585B
Maven__org_springframework_spring_webmvc_5_3_22.xml 581B
Maven__org_springframework_boot_spring_boot_2_7_3.xml 580B
Maven__ch_qos_logback_logback_classic_1_2_11.xml 575B
Maven__org_apache_poi_poi_ooxml_schemas_3_17.xml 575B
Maven__org_springframework_spring_beans_5_3_22.xml 574B
Maven__org_apache_logging_log4j_log4j_api_2_17_2.xml 573B
Maven__org_apiguardian_apiguardian_api_1_1_2.xml 572B
Maven__org_springframework_spring_core_5_3_22.xml 567B
Maven__org_springframework_spring_test_5_3_22.xml 567B
Maven__org_junit_jupiter_junit_jupiter_5_8_2.xml 566B
Maven__org_glassfish_jaxb_jaxb_runtime_2_3_6.xml 563B
Maven__org_springframework_spring_web_5_3_22.xml 560B
Maven__org_springframework_spring_jcl_5_3_22.xml 560B
Maven__org_springframework_spring_aop_5_3_22.xml 560B
Maven__net_minidev_accessors_smart_2_4_8.xml 556B
Maven__ch_qos_logback_logback_core_1_2_11.xml 554B
Maven__com_jayway_jsonpath_json_path_2_7_0.xml 546B
Maven__net_bytebuddy_byte_buddy_1_12_13.xml 543B
Maven__commons_codec_commons_codec_1_15.xml 543B
Maven__org_assertj_assertj_core_3_22_0.xml 542B
Maven__org_apache_xmlbeans_xmlbeans_2_6_0.xml 539B
Maven__com_github_virtuald_curvesapi_1_04.xml 539B
Maven__org_skyscreamer_jsonassert_1_5_1.xml 537B
Maven__org_mockito_mockito_core_4_5_1.xml 535B
Maven__org_xmlunit_xmlunit_core_2_9_0.xml 535B
Maven__org_slf4j_jul_to_slf4j_1_7_36.xml 534B
Maven__org_opentest4j_opentest4j_1_2_0.xml 533B
Maven__net_minidev_json_smart_2_4_8.xml 521B
Maven__org_apache_poi_poi_ooxml_3_17.xml 519B
Maven__com_alibaba_easyexcel_2_2_4.xml 514B
Maven__javax_cache_cache_api_1_1_1.xml 514B
Maven__org_slf4j_slf4j_api_1_7_36.xml 513B
Maven__org_objenesis_objenesis_3_2.xml 508B
Maven__org_ehcache_ehcache_3_10_0.xml 507B
Maven__org_glassfish_jaxb_txw2_2_3_6.xml 507B
Maven__org_hamcrest_hamcrest_2_2.xml 497B
Maven__org_yaml_snakeyaml_1_30.xml 495B
Maven__stax_stax_api_1_0_1.xml 479B
Maven__org_apache_poi_poi_3_17.xml 477B
misc.xml 466B
Maven__org_ow2_asm_asm_4_2.xml 458B
Maven__cglib_cglib_3_1.xml 448B
modules.xml 269B
encodings.xml 191B
application.yml 352B
共 100 条
- 1
Silenchen11
- 粉丝: 7
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0