POI操作Excel,创建下拉框

/**
 * 
 */
package test.excel;

/**
 * @author seven
 *2013-4-11上午09:15:23
 */

import java.io.FileOutputStream;

import java.util.Date;

import org.apache.poi.hssf.usermodel.DVConstraint;

import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFDataValidation;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.hssf.util.CellRangeAddressList;

public class POI
{

	public static void main(String[] args)

	{

		String[] list = { "东软", "华信", "SAP", "海辉" };

		new POI().createListBox(list);
		return;

	}

	public void createListBox(String[] list)

	{

		// 文件初始化

		HSSFWorkbook wb = new HSSFWorkbook();

		HSSFSheet sheet = wb.createSheet("new sheet");

		// 在第一行第一个单元格,插入下拉框

		HSSFRow row = sheet.createRow(0);

		HSSFCell cell = row.createCell(0);

		// 普通写入操作

		cell.setCellValue("请选择");// 这是实验

		// 生成下拉列表

		// 只对(0,0)单元格有效

		CellRangeAddressList regions = new CellRangeAddressList(0, 0, 0, 0);

		// 生成下拉框内容

		DVConstraint constraint = DVConstraint
				.createExplicitListConstraint(list);

		// 绑定下拉框和作用区域

		HSSFDataValidation data_validation = new HSSFDataValidation(regions,
				constraint);

		// 对sheet页生效

		sheet.addValidationData(data_validation);

		// 写入文件

		FileOutputStream fileOut;

		try {

			fileOut = new FileOutputStream("workbook.xls");

			wb.write(fileOut);

			fileOut.close();

		} catch (Exception e) {

			// TODO Auto-generated catch block

			e.printStackTrace();

		}

		// 结束

		System.out.println("Over");

	}
}

你可能感兴趣的:(POI操作Excel,创建下拉框)