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");

	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章