POI生成excel带下拉

  1. package com.cloud.poi.utils;  
  2. import java.io.FileOutputStream;  
  3. import org.apache.poi.hssf.usermodel.DVConstraint;  
  4. import org.apache.poi.hssf.usermodel.HSSFCell;  
  5. import org.apache.poi.hssf.usermodel.HSSFDataValidation;  
  6. import org.apache.poi.hssf.usermodel.HSSFRow;  
  7. import org.apache.poi.hssf.usermodel.HSSFSheet;  
  8. import org.apache.poi.hssf.usermodel.HSSFWorkbook;  
  9. import org.apache.poi.hssf.util.CellRangeAddressList;  
  10. import org.apache.poi.ss.SpreadsheetVersion;  
  11. /** 
  12.  * poi创建下拉框 
  13.  * @author Henry 
  14.  */  
  15. public class PoiCheckBox97  
  16. {  
  17.     public static void main(String[] args)  
  18.     {  
  19.         String[] list = { "JAVA""C""易语言""GO" };  
  20.         new PoiCheckBox97().createListBox(list);  
  21.         return;  
  22.     }  
  23.     public void createListBox(String[] list)  
  24.     {  
  25.         // 文件初始化  
  26.         HSSFWorkbook wb = new HSSFWorkbook();  
  27.         HSSFSheet sheet = wb.createSheet("new sheet");  
  28.         // 在第一行第一个单元格,插入下拉框  
  29.         HSSFRow row = sheet.createRow(0);  
  30.         HSSFCell cell = row.createCell(0);  
  31.         // 普通写入操作  
  32.         cell.setCellValue("请选择");// 这是实验  
  33.         // 生成下拉列表  
  34.         // 对(row0,rowMax,col0,colMax)所有单元格有效  
  35.         int maxRowNum = SpreadsheetVersion.EXCEL97.getLastRowIndex();//maxRowNum=65535  
  36.         System.out.println("maxRowNum:"+maxRowNum);  
  37.         int maxColNum = SpreadsheetVersion.EXCEL97.getLastColumnIndex();  
  38.         System.out.println("maxColNum:"+maxColNum);//maxColNum=255  
  39.         CellRangeAddressList regions = new CellRangeAddressList(0, maxRowNum, 0, maxColNum);  
  40.         // 生成下拉框内容  
  41.         DVConstraint constraint = DVConstraint  
  42.                 .createExplicitListConstraint(list);  
  43.         // 绑定下拉框和作用区域  
  44.         HSSFDataValidation data_validation = new HSSFDataValidation(regions,  
  45.                 constraint);  
  46.         // 对sheet页生效  
  47.         sheet.addValidationData(data_validation);  
  48.         // 写入文件  
  49.         FileOutputStream fileOut;  
  50.         try {  
  51.             fileOut = new FileOutputStream("d:/workbook.xls");  
  52.             wb.write(fileOut);  
  53.             fileOut.close();  
  54.         } catch (Exception e) {  
  55.             e.printStackTrace();  
  56.         }  
  57.         // 结束  
  58.         System.out.println("Over");  
  59.     }  
  60. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值