`
禁魔宝宝
  • 浏览: 10723 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

poi excel 下拉 联动

    博客分类:
  • java
阅读更多

最近需要生成一个excel的省市二级联动 上网找了些资料 主要根据以下两个整理而得

excel下拉联动http://jingyan.baidu.com/article/5553fa82035ce565a23934ba.html

poi :http://blog.csdn.net/wed840313/article/details/7546134

 

首先准备两个方法: 创建名称管理器数据 、设置数据有效性

 

/**
* 创建名称管理器数据
* @param wb
* @param name
* @param expression
* @return
*/
private HSSFName createName(HSSFWorkbook wb, String name, String expression){
	HSSFName refer = wb.createName();
	refer.setRefersToFormula(expression);
	refer.setNameName(name);
	return refer;
}

/**
* 设置数据有效性(通过名称管理器级联相关)
* @param name
* @param firstRow
* @param endRow
* @param firstCol
* @param endCol
* @return
*/
private HSSFDataValidation setDataValidation(String name, int firstRow, int endRow, int firstCol, int endCol){
	DVConstraint constraint = DVConstraint.createFormulaListConstraint(name);
	CellRangeAddressList regions = new CellRangeAddressList((short) firstRow, (short) endRow, (short) firstCol, (short) endCol);
	HSSFDataValidation data_validation = new HSSFDataValidation(regions, constraint);
	return data_validation;
}

 

 

  先把省市联动的数据存放到一个名称为数据字典的新工作表中,省份名称存入B列,城市名称C列(这个列不固定,可根据自己喜好改变,工作表隐藏方法  wb.setSheetHidden(3, true)  ),这里代码我就不贴了,效果如图


 有了这些准备后,我们先添加省份下拉列表

 

this.createName(wb, "province", "数据字典!$B$1:$B$"+provincelist.size());
HSSFDataValidation valiprovince = this.setDataValidation("province", 3, 3, 4, 4);
sheet.addValidationData(valiprovince);

 由于是联动,城市的名称要与省份名相对应,因此需要循环省份添加城市到名称管理器

 

 

for (Map province : provincelist) {
	this.createName(wb, province.get("parentname").toString(), "数据字典!$C$"+ 开始行 +":$C$" + 结束行);
}
HSSFDataValidation valicity = this.setDataValidation("INDIRECT($E$4)", 3, 3, 5, 5);
sheet.addValidationData(valicity);

 我将全部城市名按顺序存入C列,$E$4 为省份单元格位置,

 

  • 大小: 18.4 KB
分享到:
评论
2 楼 禁魔宝宝 2014-01-13  
taoge2121 写道
有这么2B的需求吗??

你猜呢 小tt
1 楼 taoge2121 2013-11-20  
有这么2B的需求吗??

相关推荐

    poi导出excel生成下拉列表

    poi作为导出excel常用的工具,方便快捷。对于excel指定下拉列表的列,如何生成呢?本文提供如何生成下拉列表的excel列

    poi excel poi excel poi excel

    ### POI Excel知识点详解 #### 一、Jakarta POI简介与Apache POI的作用 Jakarta POI 是 Apache POI 的早期项目名称,它提供了一组 API 来处理 Microsoft Office 文件格式,特别是针对 Excel(`.xls` 和 `.xlsx`)...

    poi导出下拉列表

    本主题将深入探讨如何使用Apache POI来创建具有下拉列表功能的Excel文件,以及如何实现数据有效性约束。 首先,我们需要理解什么是数据有效性约束。在Excel中,数据有效性是一种功能,允许用户对单元格输入的数据...

    POI 下拉列POI 下拉列表.rar

    在这些资源中,你可能会找到如何实现上述步骤的详细代码示例,帮助你更好地理解和应用Apache POI创建Excel下拉列表的功能。 总的来说,Apache POI提供了一个强大而灵活的工具,使得在Java应用程序中生成具有下拉...

    poi 生成excel模板,下拉选项,批注。现在有模板中插入下拉信息

    在这个场景中,我们将讨论如何使用 POI 在 Java 中生成带有下拉选项和批注的 Excel 模板。 首先,我们需要理解 POI 的核心组件,如 HSSFWorkbook(用于 .xls 文件)和 XSSFWorkbook(用于 .xlsx 文件)。这些工作簿...

    EXCEL二级下拉联动菜单制作

    EXCEL二级下拉联动菜单制作,很实用的例子,供需要的朋友下载

    JAVA POI Excel转Html

    JAVA POI Excel转Html,代码和所需的jar都在压缩包,项目在线预览需求,实现后分享下

    poi excel转html

    poi提供了excel转html的代码,但是吧,有好多问题。当有合并单元格时边框获取不到,单元格内的字体样式也转换不了,现在对poi提供的Tohtml.java做了一些修改,修复了这些问题,记录下,以备之后用到

    java_poi实现excel导入导出

    Java POI 实现 Excel 导入导出 Java POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件格式,包括 Excel 文件。在本文中,我们将详细介绍如何使用 Java POI 实现 Excel 导入导出功能。 1. 什么是 Java ...

    poi excel转换成bean

    在Java开发中,Apache POI 是一个非常流行的库,它允许程序员创建、修改和显示Microsoft Office格式的文件,包括Excel工作簿。标题“poi excel转换成bean”涉及到的关键技术是使用Apache POI从Excel文件中读取数据并...

    基于POI的Excel操作Java类

    为更方便的使用POI的API来操作Excel(2003)文件,对POI中针对Excel文件的读写进行了简单封装。此类中包含以下功能: 1.根据模板创建Excel文件 ...压缩包中包含POI的jar文件、POIExcel的jar文件及POIExcel的源码

    POI Excel官方源码及文档及实例

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如Excel、Word和PowerPoint。这个资源包包含了POI项目的源代码、相关文档以及示例,可以帮助开发者深入理解如何使用POI来操作Excel文件。 一...

    SpringMVC POI Excel 生成导出

    "SpringMVC POI Excel 生成导出" SpringMVC 是一个基于 Java 的 Web 框架,POI 是一个 Java 库,用于操作 Microsoft Office 文件格式,Excel 是一个电子表格软件。今天,我们将在 SpringMVC 中使用 POI 生成 Excel ...

    利用POI读取excel写入到word

    在IT行业中,Apache POI是一个广泛使用的开源库,专门用于处理Microsoft Office格式的文件,如Excel、Word和PowerPoint。本篇文章将详细讲解如何利用Apache POI库来读取Excel数据并将其写入到Word文档中。 首先,...

    POI操作Excel完美生成水印

    在Java编程领域,Apache POI 是一个非常流行的库,它允许开发者读取、写入和修改Microsoft Office格式的文件,包括Excel(XLS和XLSX)。本教程将深入探讨如何利用Apache POI来在Excel文件中完美地生成水印。水印通常...

    POI导出Excel文件

    Apache POI是一个流行的Java库,用于读取和写入Microsoft Office格式的文件,尤其是Excel(.xlsx和.xls)文件。这个实例提供了两种方法来导出Excel文件:通过Servlet和通过main方法。这两种方法都是在Java环境中操作...

    Excel省市区联动案例

    不想在Excel里手动输入省市区/县,本资源就是联动选择省市区/县的案例。数据是精确到省市县的,如果想要精确到区/县的,只要把第二份数据文件内容按第一份“例子”的最后一个页签给的格式把数据录进入就OK了。可以...

    poi excel 模板读取并导出带公式的excel文档

    ### POI Excel 模板读取并导出带公式的Excel文档 #### 一、概述 在实际工作中,经常需要批量处理数据,并将其导出到Excel文件中,特别是在需要复杂计算的情况下,例如工资单、统计数据汇总等场景。利用Apache POI...

    POI向excel中插入图片

    Apache POI是一个强大的Java库,专门用于处理Microsoft Office格式的文件,包括Excel。在本文中,我们将深入探讨如何使用POI库向Excel工作簿中插入图片。这将涵盖相关的API,步骤以及一些实用技巧。 首先,我们需要...

    poi excel 模板读取 复制表 复制行且区分合并行

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,包括Excel。在Java开发中,POI库被广泛用于读取、写入和修改Excel文档。本篇将详细介绍如何使用Apache POI来读取Excel模板,复制工作表(Sheet...

Global site tag (gtag.js) - Google Analytics