com.alibaba.excel.metadata.csv.CsvRow Maven / Gradle / Ivy
package com.alibaba.excel.metadata.csv;
import java.util.Iterator;
import java.util.List;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.compress.utils.Lists;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
/**
* csv row
*
* @author Jiaju Zhuang
*/
@Getter
@Setter
@EqualsAndHashCode
public class CsvRow implements Row {
/**
* cell list
*/
private final List cellList;
/**
* workbook
*/
private final CsvWorkbook csvWorkbook;
/**
* sheet
*/
private final CsvSheet csvSheet;
/**
* row index
*/
private Integer rowIndex;
/**
* style
*/
private CellStyle cellStyle;
public CsvRow(CsvWorkbook csvWorkbook, CsvSheet csvSheet, Integer rowIndex) {
cellList = Lists.newArrayList();
this.csvWorkbook = csvWorkbook;
this.csvSheet = csvSheet;
this.rowIndex = rowIndex;
}
@Override
public Cell createCell(int column) {
CsvCell cell = new CsvCell(csvWorkbook, csvSheet, this, column, null);
cellList.add(cell);
return cell;
}
@Override
public Cell createCell(int column, CellType type) {
CsvCell cell = new CsvCell(csvWorkbook, csvSheet, this, column, type);
cellList.add(cell);
return cell;
}
@Override
public void removeCell(Cell cell) {
cellList.remove(cell);
}
@Override
public void setRowNum(int rowNum) {
this.rowIndex = rowNum;
}
@Override
public int getRowNum() {
return rowIndex;
}
@Override
public Cell getCell(int cellnum) {
if (cellnum >= cellList.size()) {
return null;
}
return cellList.get(cellnum - 1);
}
@Override
public Cell getCell(int cellnum, MissingCellPolicy policy) {
return getCell(cellnum);
}
@Override
public short getFirstCellNum() {
if (CollectionUtils.isEmpty(cellList)) {
return -1;
}
return 0;
}
@Override
public short getLastCellNum() {
if (CollectionUtils.isEmpty(cellList)) {
return -1;
}
return (short)cellList.size();
}
@Override
public int getPhysicalNumberOfCells() {
return getRowNum();
}
@Override
public void setHeight(short height) {
}
@Override
public void setZeroHeight(boolean zHeight) {
}
@Override
public boolean getZeroHeight() {
return false;
}
@Override
public void setHeightInPoints(float height) {
}
@Override
public short getHeight() {
return 0;
}
@Override
public float getHeightInPoints() {
return 0;
}
@Override
public boolean isFormatted() {
return false;
}
@Override
public CellStyle getRowStyle() {
return cellStyle;
}
@Override
public void setRowStyle(CellStyle style) {
this.cellStyle = style;
}
@Override
public Iterator cellIterator() {
return (Iterator)(Iterator extends Cell>)cellList.iterator();
}
@Override
public Sheet getSheet() {
return csvSheet;
}
@Override
public int getOutlineLevel() {
return 0;
}
@Override
public void shiftCellsRight(int firstShiftColumnIndex, int lastShiftColumnIndex, int step) {
}
@Override
public void shiftCellsLeft(int firstShiftColumnIndex, int lastShiftColumnIndex, int step) {
}
@Override
public Iterator| iterator() {
return cellIterator();
}
}
| | | © 2015 - 2025 Weber Informatics LLC | Privacy Policy