1. 1 private InputStream updateTemplateStyleHSSF(InputStream inputStream,CsCustCon csCustCon) throws IOException, DAOException{
  2. HSSFWorkbook workbook = new HSSFWorkbook(inputStream);
  3. HSSFSheet firstSheet= workbook.getSheetAt(0);
  4. List<String> strList=csConAcceDao.getAcceNameAndNoListByConId(csCustCon);
  5. String[] strs=(String[])strList.toArray(new String[strList.size()]);
  6.  
  7. String secondSheetName="合同附件名称和编号";
  8. HSSFSheet secondSheet= workbook.createSheet(secondSheetName);
  9. if(null!=strs&&strs.length>0){
  10. for(int i=0;i<strs.length;i++){
  11. HSSFRow row=secondSheet.createRow(i);
  12. HSSFCell cell= row.createCell(0);
  13. cell.setCellValue(strs[i]);
  14. }
  15. }
  16. Name name=workbook.createName();
  17. name.setNameName(secondSheetName);
  18. name.setRefersToFormula(secondSheetName+"!$A$1:$A$"+strs.length);
  19. CellRangeAddressList newStyleRange=new CellRangeAddressList(1,65535,0,0);
  20. DVConstraint constraint=DVConstraint.createFormulaListConstraint(secondSheetName);
  21. HSSFDataValidation dataValidation=new HSSFDataValidation(newStyleRange, constraint);
  22. dataValidation.setShowPromptBox(true);
  23. firstSheet.addValidationData(dataValidation);
  24.  
  25. ByteArrayOutputStream out=new ByteArrayOutputStream();
  26. workbook.write(out);
  27. byte[] contents=out.toByteArray();
  28. InputStream newInputStream= new ByteArrayInputStream(contents);
  29. return newInputStream;
  30. }

需求说明:excel 第一页 第一列为下拉菜单 菜单的数据在第二页全部显示出来

如果 在第二页删除了一项 保存后  第一页第一列下拉菜单中 的数据就少一项

  1. List<String> strList=csConAcceDao.getAcceNameAndNoListByConId(csCustCon);

这行代码为 返回下拉菜单中的数据

参数

  1. InputStream inputStream file 对象生成的 file 对象则是 对应的要解析的excel 生成的
  1. ByteArrayOutputStream out=new ByteArrayOutputStream();
  2. workbook.write(out);
  3. byte[] contents=out.toByteArray();
  4. InputStream newInputStream= new ByteArrayInputStream(contents);
  5. return newInputStream;

这段代码为 excel 更新后   重新保存 excel 文件

另:

  1. HSSFWorkbook 对象 只能处理 2003及以前版本
  1. XSSFWorkbook 对象 处理 2007及以后版本

java poi excel操作 下拉菜单 及数据有效性的更多相关文章

  1. 『心善渊』Selenium3.0基础 — 13、Selenium操作下拉菜单

    目录 1.使用Selenium中的Select类来处理下拉菜单(推荐) 2.下拉菜单对象的其他操作(了解) 3.通过元素二次定位方式操作下拉菜单(重点) (1)了解元素二次定位 (2)示例: 页面中的 ...

  2. excel设置下拉菜单,并且不同值会显示不同颜色

    工作中常常要用的excel,每次都会有新的需求,然后不会,然后百度,然后过段时间可能就又忘了,于是就想说,自己记录下来~~~因为自己用的都是2010,其实哪个版本都差不多,都是应该可以找到相应的按钮滴 ...

  3. Excel添加下拉菜单

    一.选中需要下拉菜单的单元格 二.数据--数据校验 三 .选择序列,填写来源 四.保存

  4. Python+Selenium笔记(八):操作下拉菜单

    (一) Select类 Select类是selenium的一个特定的类,用来与下拉菜单和列表交互. 下拉菜单和列表是通过HTML的<select> 元素实现的.选择项是通过<sele ...

  5. Excel设置下拉菜单并隐藏下拉菜单来源单元格内容

    一.问题来源 做实验室的进展统计表,老师让加上开始时间和完成时间,时间格式:周几_上午(下午.晚上). 这样就可以了做下拉菜单,方便填写,而且格式统一,方便查看. 二.解决办法 2.1 下来菜单 红框 ...

  6. 使用EXCEL设置“下拉菜单”选项功能

    原创作品.出自 "深蓝的blog" 博客.欢迎转载.转载时请务必注明出处,否则有权追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlo ...

  7. java poi excel操作 把第一列放到最后去

    @Override public void adjustExcleColumnPosition(String filePath,int col) throws Exception{ File file ...

  8. Excel 二级下拉菜单

    http://jingyan.baidu.com/article/cd4c2979f31967756f6e6066.html http://hi.baidu.com/chenshake/item/e1 ...

  9. Selenium下拉菜单(Select)的操作-----Selenium快速入门(五)

    对于一般元素的操作,我们只要掌握本系列的第二,三章即可大致足够.对于下拉菜单(Select)的操作,Selenium有专门的类Select进行处理.文档地址为:http://seleniumhq.gi ...

随机推荐

  1. iOS 微信打开第三方应用(Universal Links 和 URL Schemes)

    一.前言 项目中时常有这种需求, 是通过链接跳转到应用内部,现在iOS主流的方案有两个 Schema: 常用在于一个应用跳转到另一个应用内部,属于应用间的跳转.当然ios9以下,网页可以通过schem ...

  2. python逻辑运算符规则

    逻辑运算符:or and not 优先级:()>not>and>or 举例子: Print(2>1 and 1<4 or 2<3 and 9>6 or 2&l ...

  3. 【Python全栈-后端开发】Django进阶1-分页

    Django[进阶篇-1 ]分页 分页 一.Django内置分页 from django.core.paginator import Paginator, EmptyPage, PageNotAnIn ...

  4. 从光盘安装ubuntu系统

    参考博客: https://www.jianshu.com/p/7929e4911206

  5. tarjan代码

    还有五天就是NOIP2018了……本蒟蒻还要复习期中考试,因此实在没有时间写博客了(各种找借口).这里就放一下代码 //Tarjan缩点 //题目描述:给一个有向图.每个点有一个权值,求权值和最大的路 ...

  6. SQL中exsit和in

    本周在做ETL的时候踩了个小坑 A表中数据有18条,有字段UserID B表与A表结构相同,但只有16条数据(手动删除2条,更改2条UserID为不重复的其他值) 当 Select UserID fr ...

  7. 利用StateListDrawable给button动态设置背景

    项目中,遇到相同样式的Button,只是stroke颜色不一样.为了实现一个,就得写两个shape文件,一个selector文件:多个还得重复写. 解决方法: 结合StateListDrawable给 ...

  8. Nginx、Tomcat配置https

    一.Nginx.Tomcat配置https 前提就是已经得到了CA机构颁发的证书 一.合并证书 1.假设证书文件如下 秘钥文件server.key,证书CACertificate-INTERMEDIA ...

  9. Python:遍历一个目录下所有的文件及文件夹,然后计算每个文件的字符和line的小程序

    编写了一个遍历一个目录下所有的文件及文件夹,然后计算每个文件的字符和line的小程序,先把程序贴出来. #coding=utf-8 ''' Created on 2014年7月14日 @author: ...

  10. apache多站点vhost.conf配置

    #第1个站点的配置 <VirtualHost *:80> DocumentRoot "D:/phpStudy/WWW" ServerName localhost < ...