1. 程式人生 > >Java使用POI操作Excel並建立下拉框

Java使用POI操作Excel並建立下拉框

java建立

package poiexcel;

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

  }

  }