easyexcel设置下拉框并突破255限制
1:实现接口
要实现SheetWriteHandler接口,在afterSheetCreate方法设置下拉框
import java.util.List;
import java.util.Map;
import org.apache.poi.ss.usermodel.DataValidation;
import org.apache.poi.ss.usermodel.DataValidationConstraint;
import org.apache.poi.ss.usermodel.DataValidationHelper;
import org.apache.poi.ss.usermodel.Name;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.CellRangeAddressList;
import com.alibaba.excel.write.handler.SheetWriteHandler;
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
import com.alibaba.excel.write.metadata.holder.WriteWorkbookHolder;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/**
* 自定义下拉框
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class SpinnerWriteHandler implements SheetWriteHandler {
private List<Map<Integer, List<String>>> list;// 需要下拉框的列
@Override
public void afterSheetCreate(WriteWorkbookHolder arg0, WriteSheetHolder arg1) {
// TODO Auto-generated method stub
// 创建sheet,突破下拉框255的限制
// 获取一个workbook
Workbook workbook = arg0.getWorkbook();
for (Map<Integer, List<String>> map : list) {
Sheet sheet = arg1.getSheet(