文章18 | 阅读 21826 | 点赞0
相关类与接口
Sheet(部分方法)
public interface Sheet extends Iterable<Row> {
DataValidationHelper getDataValidationHelper();
void addValidationData(DataValidation var1);
}
DataValidationHelper
public interface DataValidationHelper {
DataValidationConstraint createCustomConstraint(String var1);
DataValidationConstraint createFormulaListConstraint(String var1);
DataValidationConstraint createExplicitListConstraint(String[] var1);
DataValidationConstraint createDecimalConstraint(int var1, String var2, String var3);
DataValidationConstraint createIntegerConstraint(int var1, String var2, String var3);
DataValidationConstraint createNumericConstraint(int var1, int var2, String var3, String var4);
DataValidationConstraint createTextLengthConstraint(int var1, String var2, String var3);
DataValidationConstraint createDateConstraint(int var1, String var2, String var3, String var4);
DataValidationConstraint createTimeConstraint(int var1, String var2, String var3);
DataValidation createValidation(DataValidationConstraint var1, CellRangeAddressList var2);
}
CellRangeAddressList
public class CellRangeAddressList {
protected final List<CellRangeAddress> _list;
public CellRangeAddressList() {
public CellRangeAddressList(int firstRow, int lastRow, int firstCol, int lastCol) {
public CellRangeAddressList(RecordInputStream in) {
public void addCellRangeAddress(int firstRow, int firstCol, int lastRow, int lastCol) {
public void addCellRangeAddress(CellRangeAddress cra) {
public CellRangeAddress remove(int rangeIndex) {
public CellRangeAddress getCellRangeAddress(int index) {
public CellRangeAddress[] getCellRangeAddresses() {
public int getSize() {
public int countRanges() {
public static int getEncodedSize(int numberOfRanges) {
public int serialize(int offset, byte[] data) {
public void serialize(LittleEndianOutput out) {
public CellRangeAddressList copy() {
CellRangeAddress
public class CellRangeAddress extends CellRangeAddressBase {
public static final int ENCODED_SIZE = 8;
public CellRangeAddress(int firstRow, int lastRow, int firstCol, int lastCol) {
public CellRangeAddress(RecordInputStream in) {
public CellRangeAddress copy() {
public static CellRangeAddress valueOf(String ref) {
public String formatAsString() {
public String formatAsString(String sheetName, boolean useAbsoluteAddress) {
public void serialize(LittleEndianOutput out) {
public static int getEncodedSize(int numberOfItems) {
private static int readUShortAndCheck(RecordInputStream in) {
AbstractSheetWriteHandler
public abstract class AbstractSheetWriteHandler implements SheetWriteHandler {
@Override
public void beforeSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) {
}
@Override
public void afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) {
}
}
SheetWriteHandler
public interface SheetWriteHandler extends WriteHandler {
void beforeSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder);
void afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder);
}
WriteHandler
public interface WriteHandler extends Handler {
}
Handler
public interface Handler {
}
示例
Test
@Data
class Person{
private Integer id;
private String name;
private Integer age;
private String sex;
}
class CustomSheetWriteHandler extends AbstractSheetWriteHandler{
@Override
public void afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) {
CellRangeAddressList list=new CellRangeAddressList(1,20,2,3); //1到20行、2到3列添加下拉框
DataValidationHelper helper=writeSheetHolder.getSheet().getDataValidationHelper();
DataValidationConstraint constraint=helper.createExplicitListConstraint(new String[]{"男","女"});
DataValidation dataValidation=helper.createValidation(constraint,list);
writeSheetHolder.getSheet().addValidationData(dataValidation);
}
}
public class Test {
private static final String write_path="e:"+ File.separator+"java"+File.separator+"easyexcel"+File.separator+"write4.xlsx";
public static void write(){
EasyExcel.write(write_path,Person.class).registerWriteHandler(new CustomSheetWriteHandler())
.sheet().doWrite(data());
}
private static List<Person> data(){
List<Person> list=new ArrayList<>();
for (int i=0;i<5;i++){
Person person=new Person();
person.setId(i);
person.setName("瓜田李下 "+i);
person.setAge(20+i);
list.add(person);
}
return list;
}
public static void main(String[] args){
write();
}
}
使用测试
sex列添加下拉框成功,内容为:男、女
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/weixin_43931625/article/details/107597394
内容来源于网络,如有侵权,请联系作者删除!