POI设置单元格内容下拉框选择和单元格提示功能
2017-06-27 09:40
507 查看
转载:http://www.cnblogs.com/duguheilang/p/5282460.html
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.DVConstraint;
import org.apache.poi.hssf.usermodel.HSSFDataValidation;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.CellRangeAddressList;
public class PoiTest2 {
public static void main(String[] args) throws IOException {
HSSFWorkbook wb = new HSSFWorkbook();// excel文件对象
HSSFSheet sheetlist = wb.createSheet("sheetlist");// 工作表对象
FileOutputStream out = new FileOutputStream("d:\\success.xls");
String[] textlist = { "列表1", "列表2", "列表3", "列表4", "列表5" };
sheetlist = setHSSFValidation(sheetlist, textlist, 0, 500, 0, 0);// 第一列的前501行都设置为选择列表形式.
// sheetlist = setHSSFPrompt(sheetlist, "promt Title", "prompt Content",
// 0, 500, 1, 1);// 第二列的前501行都设置提示.
wb.write(out);
out.close();
}
/**
* 设置某些列的值只能输入预制的数据,显示下拉框.
*
* @param sheet
* 要设置的sheet.
* @param textlist
* 下拉框显示的内容
* @param firstRow
* 开始行
* @param endRow
* 结束行
* @param firstCol
* 开始列
* @param endCol
* 结束列
* @return 设置好的sheet.
*/
public static HSSFSheet setHSSFValidation(HSSFSheet sheet,
String[] textlist, int firstRow, int endRow, int firstCol,
int endCol) {
// 加载下拉列表内容
DVConstraint constraint = DVConstraint
.createExplicitListConstraint(textlist);
// 设置数据有效性加载在哪个单元格上,四个参数分别是:起始行、终止行、起始列、终止列
CellRangeAddressList regions = new CellRangeAddressList(firstRow,
endRow, firstCol, endCol);
// 数据有效性对象
HSSFDataValidation data_validation_list = new HSSFDataValidation(
regions, constraint);
sheet.addValidationData(data_validation_list);
return sheet;
}
/**
* 设置单元格上提示
*
* @param sheet
* 要设置的sheet.
* @param promptTitle
* 标题
* @param promptContent
* 内容
* @param firstRow
* 开始行
* @param endRow
* 结束行
* @param firstCol
* 开始列
* @param endCol
* 结束列
* @return 设置好的sheet.
*/
public static HSSFSheet setHSSFPrompt(HSSFSheet sheet, String promptTitle,
String promptContent, int firstRow, int endRow, int firstCol,
int endCol) {
// 构造constraint对象
DVConstraint constraint = DVConstraint
.createCustomFormulaConstraint("BB1");
// 四个参数分别是:起始行、终止行、起始列、终止列
CellRangeAddressList regions = new CellRangeAddressList(firstRow,
endRow, firstCol, endCol);
// 数据有效性对象
HSSFDataValidation data_validation_view = new HSSFDataValidation(
regions, constraint);
data_validation_view.createPromptBox(promptTitle, promptContent);
sheet.addValidationData(data_validation_view);
return sheet;
}
}
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.DVConstraint;
import org.apache.poi.hssf.usermodel.HSSFDataValidation;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.CellRangeAddressList;
public class PoiTest2 {
public static void main(String[] args) throws IOException {
HSSFWorkbook wb = new HSSFWorkbook();// excel文件对象
HSSFSheet sheetlist = wb.createSheet("sheetlist");// 工作表对象
FileOutputStream out = new FileOutputStream("d:\\success.xls");
String[] textlist = { "列表1", "列表2", "列表3", "列表4", "列表5" };
sheetlist = setHSSFValidation(sheetlist, textlist, 0, 500, 0, 0);// 第一列的前501行都设置为选择列表形式.
// sheetlist = setHSSFPrompt(sheetlist, "promt Title", "prompt Content",
// 0, 500, 1, 1);// 第二列的前501行都设置提示.
wb.write(out);
out.close();
}
/**
* 设置某些列的值只能输入预制的数据,显示下拉框.
*
* @param sheet
* 要设置的sheet.
* @param textlist
* 下拉框显示的内容
* @param firstRow
* 开始行
* @param endRow
* 结束行
* @param firstCol
* 开始列
* @param endCol
* 结束列
* @return 设置好的sheet.
*/
public static HSSFSheet setHSSFValidation(HSSFSheet sheet,
String[] textlist, int firstRow, int endRow, int firstCol,
int endCol) {
// 加载下拉列表内容
DVConstraint constraint = DVConstraint
.createExplicitListConstraint(textlist);
// 设置数据有效性加载在哪个单元格上,四个参数分别是:起始行、终止行、起始列、终止列
CellRangeAddressList regions = new CellRangeAddressList(firstRow,
endRow, firstCol, endCol);
// 数据有效性对象
HSSFDataValidation data_validation_list = new HSSFDataValidation(
regions, constraint);
sheet.addValidationData(data_validation_list);
return sheet;
}
/**
* 设置单元格上提示
*
* @param sheet
* 要设置的sheet.
* @param promptTitle
* 标题
* @param promptContent
* 内容
* @param firstRow
* 开始行
* @param endRow
* 结束行
* @param firstCol
* 开始列
* @param endCol
* 结束列
* @return 设置好的sheet.
*/
public static HSSFSheet setHSSFPrompt(HSSFSheet sheet, String promptTitle,
String promptContent, int firstRow, int endRow, int firstCol,
int endCol) {
// 构造constraint对象
DVConstraint constraint = DVConstraint
.createCustomFormulaConstraint("BB1");
// 四个参数分别是:起始行、终止行、起始列、终止列
CellRangeAddressList regions = new CellRangeAddressList(firstRow,
endRow, firstCol, endCol);
// 数据有效性对象
HSSFDataValidation data_validation_view = new HSSFDataValidation(
regions, constraint);
data_validation_view.createPromptBox(promptTitle, promptContent);
sheet.addValidationData(data_validation_view);
return sheet;
}
}
相关文章推荐
- POI设置单元格内容下拉框选择和单元格提示功能
- java使用POI设置单元格内容下拉框选择和单元格提示功能
- POI设置单元格内容下拉框选择和单元格提示功能
- POI设置单元格内容下拉框选择和单元格提示功能
- POI设置单元格内容下拉框选择和单元格提示功能
- POI设置单元格内容下拉框选择和单元格提示功能
- 安卓设置默认应用功能失效,设置后仍然总是反复提示选择默认使用的应用
- Android 控件 -------- AutoCompleteTextView 动态匹配内容,例如 百度搜索提示下拉列表功能
- poi设置一个Excel单元格的内容为多种样式的方法
- 网页中文本框下拉选择输入与自动提示功能的实现
- java 使用poi导出Excel,设置单元格保护不可编辑,设置下拉框
- Excel中设置下拉列表的来源怎么选择其他工作表的内容
- 用java poi编写代码来设置Excel单元格是否锁定功能?
- 搜索 上下建选择搜索提示内容功能
- Excel单元格无法输入内容,提示“已设定公式,请选择‘取消’退出”
- 怎么设置GridView的单元格在内容显示超过长度的时候用省略号代替而不是换行当鼠标移上去的时候将影藏的内容提示出来
- 网页中文本框下拉选择输入与自动提示功能的实现
- Eclipse代码提示功能的设置
- 实现功能:弹出一个DIV层提示等待信息,这个时候禁用用户操作页面中的其他内容
- [VB.NET]VB2005,DataGridView如何设置当前的单元格里的内容处于编辑状态.