/** * */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 blocke.printStackTrace();}// 結束System.out.println("Over");}}