java如何导出带有联动下拉框的excel

本文介绍如何使用Java配合Excel实现下拉框的联动效果,包括定义取值区域、设置不同级别的下拉框序列值及Java程序的具体操作步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

利用到jxl,poi也是一种用来处理excel的工具类!只不过,jxl比较小,好用!对于下拉框联动的功能

jxl没有直接可以处理的!只能做好模板,然后用jxl往模板写数据!这样做,不完美,仅供参考

 

第一:excel中的联动处理

名称-定义  设置一个区域,用来取值的区域,名称为 第一级别下拉框的选项名

第一级别   下拉框 数据 有效性 序列 值为 选项框 和 前面设置的区域名称相同

第二级别   下拉框 数据 有效性 序列 值为 =INDIRECT(B9) B9为第一级别的下拉框位置

第二:java程序的处理

A:对action进行判断 准备需要的值

 

filePath = CommAttachInfoFactory.rootPath
					+ "/filedata/npForm/scaleTarget/模板录入模板/type-"+types[k]+".xls";
						request.setAttribute("path", filePath);

						try{
							new OperationExcel().UpdateLuruExcel(filePath, temFileName,scaleTaskInfo);
						} catch (Exception e) {
							e.printStackTrace();
						}

 B:具体的操作并生成文件

 

	  public void UpdateLuruExcel(String filename,String overDept,ScaleTargetForm scaleTaskInfo){
		  
		  try{
		  Workbook wb  =  Workbook.getWorkbook(new File(filename)); 
		   WritableWorkbook workbook  =  Workbook.createWorkbook( new  File(filename),wb); 
		   WritableSheet sheet  =  workbook.getSheet(0);
//		   System.out.println("打死我也不相信 怎么可能是空的  怎么可能 scaleTaskInfo.getTask_name():"+scaleTaskInfo.getTask_name()+"  scaleTaskInfo.getTask_start_time(): "+scaleTaskInfo.getTask_start_time());
		   sheet.addCell(new Label(0,1,scaleTaskInfo.getTask_name()+
					"-"+scaleTaskInfo.getTask_start_time()));
		   workbook.write(); 
		   workbook.close(); }catch(Exception e){
			   e.printStackTrace();
		   }
	  }

 附件为 一个做好的三级联动例子

其中 选择区域的值  可以做到另外一个sheet中,这样美观

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值