1 private InputStream updateTemplateStyleHSSF(InputStream inputStream,CsCustCon csCustCon) throws IOException, DAOException{
HSSFWorkbook workbook = new HSSFWorkbook(inputStream);
HSSFSheet firstSheet= workbook.getSheetAt(0);
List<String> strList=csConAcceDao.getAcceNameAndNoListByConId(csCustCon);
String[] strs=(String[])strList.toArray(new String[strList.size()]); String secondSheetName="合同附件名称和编号";
HSSFSheet secondSheet= workbook.createSheet(secondSheetName);
if(null!=strs&&strs.length>0){
for(int i=0;i<strs.length;i++){
HSSFRow row=secondSheet.createRow(i);
HSSFCell cell= row.createCell(0);
cell.setCellValue(strs[i]);
}
}
Name name=workbook.createName();
name.setNameName(secondSheetName);
name.setRefersToFormula(secondSheetName+"!$A$1:$A$"+strs.length);
CellRangeAddressList newStyleRange=new CellRangeAddressList(1,65535,0,0);
DVConstraint constraint=DVConstraint.createFormulaListConstraint(secondSheetName);
HSSFDataValidation dataValidation=new HSSFDataValidation(newStyleRange, constraint);
dataValidation.setShowPromptBox(true);
firstSheet.addValidationData(dataValidation); ByteArrayOutputStream out=new ByteArrayOutputStream();
workbook.write(out);
byte[] contents=out.toByteArray();
InputStream newInputStream= new ByteArrayInputStream(contents);
return newInputStream;
}

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

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

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

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

参数

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

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

另:

HSSFWorkbook  对象 只能处理 2003及以前版本
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. SQL Server (MSSQLSERVER) 服务由于下列服务特定错误而终止: %%17051

    问题出现:今天在给客户调试项目的时候,发现无法连接SQL server数据库 解决过程:1.在cmd命令窗口输入services.msc,打开服务窗口,找到SQL Server (MSSQLSERVE ...

  2. python练习题-day13

    1.获取移动平均值 def wrapper(fun): def inner(*args,**kwargs): ret=fun(*args,**kwargs) ret.__next__() return ...

  3. __call__方法和Flask中 first_or_404

    1.__call__方法: 在一个类的实例中,函数一般都是可调用的对象: __call__方法时魔法方法,该方法允许程序员创建可调用的对象(实例),默认情况下是不会触发,也就是说,大多数实例是不可被调 ...

  4. GIT仓库如何恢复到前一次提交

    GIT仓库如何恢复到前一次提交   通过使用Git版本恢复命令reset,可以回退版本.reset命令有3种方式: git reset –mixed:此为默认方式,不带任何参数的git reset,即 ...

  5. JMeter上架标的(yyb-csg)

    yyb-csg 1.登录时一直提示用户名不能为空,可是明明已经传值了呀 解决:添加cookie管理器 2.怎么获取到待受理的项目, 在python脚本的实现过程中发现,在平台受理一步中传的lid值就是 ...

  6. 关于 div 的 contenteditable 使用,placeholder 和 复制图片显示并上传,按住 enter+ctrl 内容换行

    当使用文本编辑的时候,首先会使用 textarea ,但是,这个里面不能加入其它标签,也就是不能富文本化. 于是可以使用 contenteditable 就是给 div 加上该属性.就变得丰富起来.使 ...

  7. bootstrapTable 合并单元格

    /** * 合并单元格 * @param data 原始数据(在服务端完成排序) * @param fieldName 合并属性名称 * @param colspan 合并列 * @param tar ...

  8. Install rapyuta Robot Cloud Engine on Ubuntu14.04

    # -Rapyuta-installation-in-Ubuntu14.04-LTS-Trusty-This gzip folder is a tested version which can ins ...

  9. 用HTML+CSS实现一个计科院网站首页静态页面

    链接:https://pan.baidu.com/s/1akwyc89q3nzKDQQulaFelQ 提取码:s6ys

  10. 1333:【例2-2】Blah数集

    1333:[例2-2]Blah数集 注意是数组,答案数组中不能有重复数字 q数组是存储答案的 代码: #include<iostream> #include<cstdio> # ...