/*** 下载Excel模板*/
@GetMapping("/downloadTemplate")
public void downloadTemplate(HttpServletResponse response) {try (HSSFWorkbook wb = new HSSFWorkbook(); OutputStream output = response.getOutputStream()) {String fileName = "导出模板";HSSFSheet sheet = wb.createSheet(fileName);this.createSpinner(wb, sheet, new String[]{"测试一", "测试二", "测试三", "测试四"});//字体、排版、格式等设置HSSFFont font = wb.createFont();font.setBold(true);font.setFontName("宋体");font.setFontHeightInPoints((short) 11);HSSFCellStyle style = wb.createCellStyle();style.setAlignment(HorizontalAlignment.CENTER);style.setFont(font);style.setFillPattern(FillPatternType.SOLID_FOREGROUND);style.setFillForegroundColor(HSSFColor.HSSFColorPredefined.LIGHT_CORNFLOWER_BLUE.getIndex());style.setBorderLeft(BorderStyle.THIN);style.setBorderRight(BorderStyle.THIN);style.setBorderBottom(BorderStyle.THIN);sheet.setDefaultColumnWidth(20);HSSFFont red = wb.createFont();red.setBold(true);red.setFontName("宋体");red.setFontHeightInPoints((short) 11);red.setColor(Font.COLOR_RED);//开始创建标题栏HSSFRow row0 = sheet.createRow(0);HSSFCell cell0 = row0.createCell(0);cell0.setCellStyle(style);HSSFRichTextString richString0 = new HSSFRichTextString("月份*");richString0.applyFont(richString0.length() - 1, richString0.length(), red);cell0.setCellValue(richString0);HSSFCell cell1 = row0.createCell(1);cell1.setCellStyle(style);HSSFRichTextString richString1 = new HSSFRichTextString("工号*");richString1.applyFont(richString1.length() - 1, richString1.length(), red);cell1.setCellValue(richString1);HSSFCell cell2 = row0.createCell(2);cell2.setCellStyle(style);HSSFRichTextString richString2 = new HSSFRichTextString("姓名*");richString2.applyFont(richString2.length() - 1, richString2.length(), red);cell2.setCellValue(richString2);HSSFCell cell3 = row0.createCell(3);cell3.setCellStyle(style);HSSFRichTextString richString3 = new HSSFRichTextString("类别*");richString3.applyFont(richString3.length() - 1, richString3.length(), red);cell3.setCellValue(richString3);HSSFCell cell4 = row0.createCell(4);cell4.setCellStyle(style);HSSFRichTextString richString4 = new HSSFRichTextString("金额*");richString4.applyFont(richString4.length() - 1, richString4.length(), red);cell4.setCellValue(richString4);HSSFCell cell5 = row0.createCell(5);cell5.setCellStyle(style);cell5.setCellValue("备注");//输出Excel文件response.setContentType("application/x-msdownload");response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, String.valueOf(StandardCharsets.UTF_8)) + ".xls");wb.write(output);} catch (IOException e) {e.printStackTrace();}
}private void createSpinner(Workbook wb, Sheet sheet, String[] spinners) {Sheet hideSheet = wb.createSheet("spinner");for (int i = 0; i < spinners.length; i++) {hideSheet.createRow(i).createCell(0).setCellValue(spinners[i]);}DataValidationHelper helper = sheet.getDataValidationHelper();DataValidationConstraint constraint = helper.createFormulaListConstraint("spinner!" + "$A$1:$A$" + spinners.length);CellRangeAddressList addressList = new CellRangeAddressList(1, 2000, 3, 3);DataValidation dataValidation = helper.createValidation(constraint, addressList);sheet.addValidationData(dataValidation);wb.setSheetHidden(1, true);sheet.addValidationData(dataValidation);
}

poi导出带有下拉选项的Excel,解决下拉选项过多报错的问题相关推荐

  1. java poi 数据透视,java 利用poi导出默认以表格展示的excel透视表

    前言: 从前,我是一个前端程序猿,怀着对打通任(前)督(后)二(开)脉(发)的梦想转了后端,自学两礼拜java+spring全家桶,直接上项目实战.最近接到一需求:将业务数据导出一张透视表. 需求开发 ...

  2. POI 导出横版A4word,并设置excel宽度(固定不变形)

    1.maven依赖 <!-- 导出EXCEL --><dependency><groupId>org.apache.poi</groupId><a ...

  3. java将jsp页面表格导出excel表格数据_简单的POI导出JSP页面表格数据到excel

    数据库中的equipment表数据: 读取数据库中表数据的代码TestExcel.java public class TestExcel extends BaseAction{/** * @param ...

  4. java导出Excel增加下拉框选项,解决小数据量和大数据量下拉框选项的问题

    文章目录 java导出Excel增加下拉框选项 一.小数据量情况 二.大数据量情况 java导出Excel增加下拉框选项(java结合easyExcel) 添加传参模型ConsumablesAddDT ...

  5. 通过poi导出复杂excel既有合并行又有合并列

    通过poi导出形如以下的复杂excel: 此excel里左边和右边的用户可以自由选择是否导出这几列,中间的题型有单选.多选.填空.排序 这是详情表,还有分值表如下: 占比表如下: 我自己写了个针对上面 ...

  6. POI导出表格Java代码实现

    POI导出表格 1. 引入依赖 2. Excel导出核心代码 2.1 核心代码导入包 2.2 核心util代码 2.3 Controller表格导出实现 3. Excel导出结果展示 3.1 导出链接 ...

  7. 导出带下拉选项的Excel基于EasyExcel实现

    前言 今天就是记录一个计算点而已,帮小组成员搽屁股改bug.场景就是导出Excel的模板,希望枚举字段有下拉选择. 一.技术选型场景 我们这里用的是阿里开源的EasyExcel,导出模板是后端动态生成 ...

  8. POI 导出excel ,xlsx 公式多个下拉框 XSSF

    业务需求需要导出Excel,然而xls部分公式无法使用,且导出效率和行数有限制,因此更换导出文件为xlsx,下拉框个数根据参数传入.代码写得有点乱,如下代码为导出excel xlsx格式的代码 /** ...

  9. 使用EasyExcel导出带下拉框的Excel

    1. 创建注解 import java.lang.annotation.*;/*** 标注导出的列为下拉框类型,并为下拉框设置内容*/ @Documented @Retention(Retention ...

最新文章

  1. Python 代理爬取网站数据
  2. HDU 5769 Substring
  3. 用python怎样做学生管理系统用类的形式-Python配置管理的几种方式
  4. mysql 工具_最全Mysql运维工具Percona Toolkit使用案例
  5. java api中最常用的五个包_java 5 个常用的api包
  6. oracle中调试存储过程,详解Oracle调试存储过程
  7. [python教程入门学习]使用Python六步制作小鸟管道游戏(附源码)
  8. Oracle 数据字典表的使用
  9. Cacti实现网络监控的使用心得(1)
  10. qt 对话框位置如何确定_便利店如何确定收银台位置?
  11. 多线程生产者,消费者例题
  12. 【元胞自动机】基于matlab元胞自动机考虑驾驶行为的自动—求解手动驾驶混合交通流问题【含Matlab源码 2060期】
  13. Adobe Creative Cloud无法连接至服务器的解决办法
  14. Findbugs使用指南及扫描内容解释
  15. 基于spss的正态分布正态性检验
  16. css配色大全和色彩原理
  17. 038 罗尔定理及拉格朗日定理
  18. Github优秀Android开源项目,值得引用与学习(图文结合~~~)
  19. Teradata天睿公司任命王波为大中华区总裁
  20. 首屏加载,与less的初始化css

热门文章

  1. RecyclerView 点击位置错乱问题
  2. 《机器学习实战》个人学习记录笔记(二)———k-近邻算法实战之约会网站配对效果判定
  3. matlab矩阵行位列维,如何在Matlab中对行矩阵的元素进行不等长度分组
  4. 风机性能测试的软件设计,风机性能测试系统
  5. 【电子学会】2020年12月图形化四级 -- 加减法混合运算器
  6. android电视 优酷视频,将优酷视频投屏到智能电视上,竟然还有这种操作
  7. 面试题总结-搜狐手机网Python开发工程师
  8. Retrofit---java.lang.NoSuchMethodError: No virtual method isSuccess()Z in class Lretrofit2/Response
  9. 新手!亚马逊店铺刚下来就被封,什么原因
  10. tomcat蛋疼的post字符串乱码问题