java代码导出excel支持数据有效性验证,即excel单元格可以下拉选择

数据有效性验证:

package zzceshi;

import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;

import oracle.net.aso.a;

import org.apache.poi.ss.util.CellRangeAddressList;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFDataValidation;
import org.apache.poi.xssf.usermodel.XSSFDataValidationConstraint;
import org.apache.poi.xssf.usermodel.XSSFDataValidationHelper;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.junit.Test;

public class poi {
 @Test
 public void creatclass() throws IOException{
    String [] ageList={"19","18","17","16","15","14"};
        XSSFWorkbook wb=new XSSFWorkbook();
        XSSFSheet sheet= wb.createSheet("成绩表");
        XSSFSheet sheet2= wb.createSheet("年龄");
    
        XSSFRow row = sheet.createRow(0);
        XSSFCell cell = row.createCell(0); 
        cell.setCellValue("学号");
        cell=row.createCell(1);
        cell.setCellValue("姓名");
        cell=row.createCell(2);
        cell.setCellValue("年龄");
        cell=row.createCell(3);
        cell.setCellValue("成绩");
        
        for (int i = 0; i < ageList.length; i++) {
            XSSFCell cell2 = sheet2.createRow(i).createCell(0);
            cell2.setCellValue(ageList[i]);
        }
        XSSFDataValidationHelper dvHelper2 = new XSSFDataValidationHelper(
                (XSSFSheet) sheet);
        
        XSSFDataValidationConstraint dvConstraint2 = (XSSFDataValidationConstraint) dvHelper2
                .createFormulaListConstraint("年龄!$A$1:$A$7");
        CellRangeAddressList addressList = new CellRangeAddressList(1, 1048575,
                2, 2);
        XSSFDataValidation validation2 = (XSSFDataValidation) dvHelper2
                .createValidation(dvConstraint2, addressList);
        validation2.setSuppressDropDownArrow(true);
        validation2.setShowErrorBox(true);
        sheet.addValidationData(validation2);
       
        //将输出写入文件
    //    new File("d:\\poi\\测试.xlsx")
        FileOutputStream out;
        try {
            out = new FileOutputStream(new File("d:测试.xlsx"));
            wb.write(out);
            
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
       } 

}
 

猜你喜欢

转载自blog.csdn.net/qq_36878632/article/details/86691511