Java使用POI操作Excel並建立下拉框
阿新 • • 發佈:2019-02-05
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"); } }