You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.4 KiB
52 lines
1.4 KiB
package com.alibaba.excel.analysis.v03.handlers; |
|
|
|
import org.apache.poi.hssf.record.BlankRecord; |
|
import org.apache.poi.hssf.record.BoolErrRecord; |
|
import org.apache.poi.hssf.record.Record; |
|
|
|
import com.alibaba.excel.analysis.v03.AbstractXlsRecordHandler; |
|
import com.alibaba.excel.context.XlsReadContext; |
|
import com.alibaba.excel.enums.CellDataTypeEnum; |
|
import com.alibaba.excel.metadata.CellData; |
|
|
|
/** |
|
* Record handler |
|
* |
|
* @author Dan Zheng |
|
*/ |
|
public class BlankOrErrorRecordHandler extends AbstractXlsRecordHandler { |
|
|
|
public BlankOrErrorRecordHandler(XlsReadContext analysisContext) { |
|
super(analysisContext); |
|
} |
|
|
|
@Override |
|
public boolean support(Record record) { |
|
return BlankRecord.sid == record.getSid() || BoolErrRecord.sid == record.getSid(); |
|
} |
|
|
|
@Override |
|
public void processRecord(Record record) { |
|
if (record.getSid() == BlankRecord.sid) { |
|
BlankRecord br = (BlankRecord)record; |
|
this.row = br.getRow(); |
|
this.column = br.getColumn(); |
|
this.cellData = new CellData(CellDataTypeEnum.EMPTY); |
|
} else if (record.getSid() == BoolErrRecord.sid) { |
|
BoolErrRecord ber = (BoolErrRecord)record; |
|
this.row = ber.getRow(); |
|
this.column = ber.getColumn(); |
|
this.cellData = new CellData(ber.getBooleanValue()); |
|
} |
|
} |
|
|
|
@Override |
|
public void init() { |
|
|
|
} |
|
|
|
@Override |
|
public int getOrder() { |
|
return 0; |
|
} |
|
}
|
|
|