当前位置: 首页 > news >正文

Java实现下载excel模板,并实现自定义下拉框

@GetMapping("excel/download")@ApiOperation(value = "模板下载")public void getUserRecordTemplate(HttpServletResponse response, HttpServletRequest request) throws IOException {OutputStream outputStream = response.getOutputStream();InputStream inputStream = new ClassPathResource("example/excel/download_template_user_record.xlsx").getInputStream();try {String fileName = "导入模板";String fileName3 = URLEncoder.encode(fileName, "utf-8");response.setHeader("Content-disposition", "attachment;filename*=utf-8''"+fileName3+".xlsx");response.setContentType("application/msexcel");// 定义输出类型response.setCharacterEncoding("UTF-8");//获取该类声明的所有字段Field[] fields = UserRecordExcelExportResult.class.getDeclaredFields();//响应字段对应的下拉集合Map<Integer, String[]> map = new HashMap<>();Field field = null;
//从数据库里获取下拉框选项List<XcUserLevel> list = xcUserLevelService.list();
//			List<SysDept> list1 = sysDeptService.list();List<String> collect = list.stream().map(XcUserLevel::getName).collect(Collectors.toList());
//			List<String> collect1 = list1.stream().map(SysDept::getName).collect(Collectors.toList());
//找到需要对应的下拉框位置
//			map.put(11,collect1.toArray(new String[0]));map.put(12,collect.toArray(new String[0]));// 循环判断哪些字段有下拉数据集,并获取/*for (int i = 0; i < fields.length; i++) {field = fields[i];// 解析注解信息DropDownSetField dropDownSetField = field.getAnnotation(DropDownSetField.class);if (null != dropDownSetField) {//调用下拉框数据源的方法String[] source = ResoveDropAnnotationUtil.dynamicListResove2(dropDownSetField, field.getName(),staffId);if (null != source && source.length > 0) {map.put(i, source);}}}*/ExcelWriter excelWriter = EasyExcel.write(outputStream)
//将保存下拉框的map放入excelWriter.registerWriteHandler(new CustomSheetWriteHandler(map)).withTemplate(inputStream).build();WriteSheet writeSheet = EasyExcel.writerSheet(0,"Sheet1").build();excelWriter.write(new ArrayList<>(), writeSheet);excelWriter.finish();outputStream.close();} catch (Exception e) {e.printStackTrace();}}

从resoues包里获取excel文件

http://www.lryc.cn/news/514772.html

相关文章:

  • postgres docker安装
  • 数据库原理与应用期末复习
  • 数据库知识汇总2
  • CS·GO搬砖流程详细版
  • 《长寿养生报》是科普报刊吗?参与评选的科普作品需要注意什么?
  • React native 原生环境搭建(最新版本RN环境搭建,不是expo)
  • Unity Excel转Json编辑器工具
  • XML结构快捷转JSON结构API集成指南
  • 数据挖掘——支持向量机分类器
  • ImageNet 2.0?自动驾驶数据集迎来自动标注新时代
  • 智能工厂的设计软件 应用场景的一个例子:为AI聊天工具添加一个知识系统 之11 方案再探之2 项目文件(修改稿1)
  • 详解MySQL SQL删除(超详,7K,含实例与分析)
  • uniapp:跳转第三方地图
  • 深入浅出梯度下降算法:快速抵达函数最小值的方法
  • RWKV 语言模型
  • pycharm如何拉取一个git项目,然后,修改后再上传到自建的项目中?
  • Java 性能调优实战
  • ctfshow 每日练习 web 区 php特性 1-10
  • 《C++设计模式》单例模式
  • mapbox进阶,添加路径规划控件
  • 【论文阅读笔记】SCI算法与代码 | 低照度图像增强 | 2022.4.21
  • RAG实战:本地部署ragflow+ollama(linux)
  • 前路漫漫,曙光在望 !
  • 特征工程-特征预处理
  • 代码随想录算法训练营day22
  • 2024秋语法分析作业-B(满分25分)
  • Python爬虫入门(1)
  • 鸿蒙1.2:第一个应用
  • 2024年常用工具
  • 【蓝桥杯】走迷宫