mirror of https://github.com/alibaba/easyexcel
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.
378 lines
11 KiB
378 lines
11 KiB
5 years ago
|
package com.alibaba.excel.metadata.property;
|
||
|
|
||
|
import org.apache.poi.ss.usermodel.BorderStyle;
|
||
|
import org.apache.poi.ss.usermodel.BuiltinFormats;
|
||
|
import org.apache.poi.ss.usermodel.FillPatternType;
|
||
|
import org.apache.poi.ss.usermodel.HorizontalAlignment;
|
||
|
import org.apache.poi.ss.usermodel.IgnoredErrorType;
|
||
|
import org.apache.poi.ss.usermodel.IndexedColors;
|
||
|
import org.apache.poi.ss.usermodel.VerticalAlignment;
|
||
|
|
||
|
import com.alibaba.excel.annotation.write.style.ContentStyle;
|
||
|
import com.alibaba.excel.annotation.write.style.HeadStyle;
|
||
|
import com.alibaba.excel.write.metadata.style.WriteFont;
|
||
|
|
||
|
/**
|
||
|
* Configuration from annotations
|
||
|
*
|
||
|
* @author Jiaju Zhuang
|
||
|
*/
|
||
|
public class StyleProperty {
|
||
|
/**
|
||
|
* Set the data format (must be a valid format). Built in formats are defined at {@link BuiltinFormats}.
|
||
|
*/
|
||
|
private Short dataFormat;
|
||
|
/**
|
||
|
* Set the font for this style
|
||
|
*/
|
||
|
private WriteFont writeFont;
|
||
|
/**
|
||
|
* Set the cell's using this style to be hidden
|
||
|
*/
|
||
|
private Boolean hidden;
|
||
|
|
||
|
/**
|
||
|
* Set the cell's using this style to be locked
|
||
|
*/
|
||
|
private Boolean locked;
|
||
|
/**
|
||
|
* Turn on or off "Quote Prefix" or "123 Prefix" for the style, which is used to tell Excel that the thing which
|
||
|
* looks like a number or a formula shouldn't be treated as on. Turning this on is somewhat (but not completely, see
|
||
|
* {@link IgnoredErrorType}) like prefixing the cell value with a ' in Excel
|
||
|
*/
|
||
|
private Boolean quotePrefix;
|
||
|
/**
|
||
|
* Set the type of horizontal alignment for the cell
|
||
|
*/
|
||
|
private HorizontalAlignment horizontalAlignment;
|
||
|
/**
|
||
|
* Set whether the text should be wrapped. Setting this flag to <code>true</code> make all content visible within a
|
||
|
* cell by displaying it on multiple lines
|
||
|
*
|
||
|
*/
|
||
|
private Boolean wrapped;
|
||
|
/**
|
||
|
* Set the type of vertical alignment for the cell
|
||
|
*/
|
||
|
private VerticalAlignment verticalAlignment;
|
||
|
/**
|
||
|
* Set the degree of rotation for the text in the cell.
|
||
|
*
|
||
|
* Note: HSSF uses values from -90 to 90 degrees, whereas XSSF uses values from 0 to 180 degrees. The
|
||
|
* implementations of this method will map between these two value-ranges accordingly, however the corresponding
|
||
|
* getter is returning values in the range mandated by the current type of Excel file-format that this CellStyle is
|
||
|
* applied to.
|
||
|
*/
|
||
|
private Short rotation;
|
||
|
/**
|
||
|
* Set the number of spaces to indent the text in the cell
|
||
|
*/
|
||
|
private Short indent;
|
||
|
/**
|
||
|
* Set the type of border to use for the left border of the cell
|
||
|
*/
|
||
|
private BorderStyle borderLeft;
|
||
|
/**
|
||
|
* Set the type of border to use for the right border of the cell
|
||
|
*/
|
||
|
private BorderStyle borderRight;
|
||
|
/**
|
||
|
* Set the type of border to use for the top border of the cell
|
||
|
*/
|
||
|
private BorderStyle borderTop;
|
||
|
|
||
|
/**
|
||
|
* Set the type of border to use for the bottom border of the cell
|
||
|
*/
|
||
|
private BorderStyle borderBottom;
|
||
|
/**
|
||
|
* Set the color to use for the left border
|
||
|
*
|
||
|
* @see IndexedColors
|
||
|
*/
|
||
|
private Short leftBorderColor;
|
||
|
|
||
|
/**
|
||
|
* Set the color to use for the right border
|
||
|
*
|
||
|
* @see IndexedColors
|
||
|
*
|
||
|
*/
|
||
|
private Short rightBorderColor;
|
||
|
|
||
|
/**
|
||
|
* Set the color to use for the top border
|
||
|
*
|
||
|
* @see IndexedColors
|
||
|
*
|
||
|
*/
|
||
|
private Short topBorderColor;
|
||
|
/**
|
||
|
* Set the color to use for the bottom border
|
||
|
*
|
||
|
* @see IndexedColors
|
||
|
*
|
||
|
*/
|
||
|
private Short bottomBorderColor;
|
||
|
/**
|
||
|
* Setting to one fills the cell with the foreground color... No idea about other values
|
||
|
*
|
||
|
* @see FillPatternType#SOLID_FOREGROUND
|
||
|
*/
|
||
|
private FillPatternType fillPatternType;
|
||
|
|
||
|
/**
|
||
|
* Set the background fill color.
|
||
|
*
|
||
|
* @see IndexedColors
|
||
|
*
|
||
|
*/
|
||
|
private Short fillBackgroundColor;
|
||
|
|
||
|
/**
|
||
|
* Set the foreground fill color <i>Note: Ensure Foreground color is set prior to background color.</i>
|
||
|
*
|
||
|
* @see IndexedColors
|
||
|
*
|
||
|
*/
|
||
|
private Short fillForegroundColor;
|
||
|
/**
|
||
|
* Controls if the Cell should be auto-sized to shrink to fit if the text is too long
|
||
|
*/
|
||
|
private Boolean shrinkToFit;
|
||
|
|
||
|
public static StyleProperty build(HeadStyle headStyle) {
|
||
|
if (headStyle == null) {
|
||
|
return null;
|
||
|
}
|
||
|
StyleProperty styleProperty = new StyleProperty();
|
||
|
styleProperty.setDataFormat(headStyle.dataFormat());
|
||
|
styleProperty.setHidden(headStyle.hidden());
|
||
|
styleProperty.setLocked(headStyle.locked());
|
||
|
styleProperty.setQuotePrefix(headStyle.quotePrefix());
|
||
|
styleProperty.setHorizontalAlignment(headStyle.horizontalAlignment());
|
||
|
styleProperty.setWrapped(headStyle.wrapped());
|
||
|
styleProperty.setVerticalAlignment(headStyle.verticalAlignment());
|
||
|
styleProperty.setRotation(headStyle.rotation());
|
||
|
styleProperty.setIndent(headStyle.indent());
|
||
|
styleProperty.setBorderLeft(headStyle.borderLeft());
|
||
|
styleProperty.setBorderRight(headStyle.borderRight());
|
||
|
styleProperty.setBorderTop(headStyle.borderTop());
|
||
|
styleProperty.setBorderBottom(headStyle.borderBottom());
|
||
|
styleProperty.setLeftBorderColor(headStyle.leftBorderColor());
|
||
|
styleProperty.setRightBorderColor(headStyle.rightBorderColor());
|
||
|
styleProperty.setTopBorderColor(headStyle.topBorderColor());
|
||
|
styleProperty.setBottomBorderColor(headStyle.bottomBorderColor());
|
||
|
styleProperty.setFillPatternType(headStyle.fillPatternType());
|
||
|
styleProperty.setFillBackgroundColor(headStyle.fillBackgroundColor());
|
||
|
styleProperty.setFillForegroundColor(headStyle.fillForegroundColor());
|
||
|
styleProperty.setShrinkToFit(headStyle.shrinkToFit());
|
||
|
return styleProperty;
|
||
|
}
|
||
|
|
||
|
public static StyleProperty build(ContentStyle contentStyle) {
|
||
|
if (contentStyle == null) {
|
||
|
return null;
|
||
|
}
|
||
|
StyleProperty styleProperty = new StyleProperty();
|
||
|
styleProperty.setDataFormat(contentStyle.dataFormat());
|
||
|
styleProperty.setHidden(contentStyle.hidden());
|
||
|
styleProperty.setLocked(contentStyle.locked());
|
||
|
styleProperty.setQuotePrefix(contentStyle.quotePrefix());
|
||
|
styleProperty.setHorizontalAlignment(contentStyle.horizontalAlignment());
|
||
|
styleProperty.setWrapped(contentStyle.wrapped());
|
||
|
styleProperty.setVerticalAlignment(contentStyle.verticalAlignment());
|
||
|
styleProperty.setRotation(contentStyle.rotation());
|
||
|
styleProperty.setIndent(contentStyle.indent());
|
||
|
styleProperty.setBorderLeft(contentStyle.borderLeft());
|
||
|
styleProperty.setBorderRight(contentStyle.borderRight());
|
||
|
styleProperty.setBorderTop(contentStyle.borderTop());
|
||
|
styleProperty.setBorderBottom(contentStyle.borderBottom());
|
||
|
styleProperty.setLeftBorderColor(contentStyle.leftBorderColor());
|
||
|
styleProperty.setRightBorderColor(contentStyle.rightBorderColor());
|
||
|
styleProperty.setTopBorderColor(contentStyle.topBorderColor());
|
||
|
styleProperty.setBottomBorderColor(contentStyle.bottomBorderColor());
|
||
|
styleProperty.setFillPatternType(contentStyle.fillPatternType());
|
||
|
styleProperty.setFillBackgroundColor(contentStyle.fillBackgroundColor());
|
||
|
styleProperty.setFillForegroundColor(contentStyle.fillForegroundColor());
|
||
|
styleProperty.setShrinkToFit(contentStyle.shrinkToFit());
|
||
|
return styleProperty;
|
||
|
}
|
||
|
|
||
|
public Short getDataFormat() {
|
||
|
return dataFormat;
|
||
|
}
|
||
|
|
||
|
public void setDataFormat(Short dataFormat) {
|
||
|
this.dataFormat = dataFormat;
|
||
|
}
|
||
|
|
||
|
public WriteFont getWriteFont() {
|
||
|
return writeFont;
|
||
|
}
|
||
|
|
||
|
public void setWriteFont(WriteFont writeFont) {
|
||
|
this.writeFont = writeFont;
|
||
|
}
|
||
|
|
||
|
public Boolean getHidden() {
|
||
|
return hidden;
|
||
|
}
|
||
|
|
||
|
public void setHidden(Boolean hidden) {
|
||
|
this.hidden = hidden;
|
||
|
}
|
||
|
|
||
|
public Boolean getLocked() {
|
||
|
return locked;
|
||
|
}
|
||
|
|
||
|
public void setLocked(Boolean locked) {
|
||
|
this.locked = locked;
|
||
|
}
|
||
|
|
||
|
public Boolean getQuotePrefix() {
|
||
|
return quotePrefix;
|
||
|
}
|
||
|
|
||
|
public void setQuotePrefix(Boolean quotePrefix) {
|
||
|
this.quotePrefix = quotePrefix;
|
||
|
}
|
||
|
|
||
|
public HorizontalAlignment getHorizontalAlignment() {
|
||
|
return horizontalAlignment;
|
||
|
}
|
||
|
|
||
|
public void setHorizontalAlignment(HorizontalAlignment horizontalAlignment) {
|
||
|
this.horizontalAlignment = horizontalAlignment;
|
||
|
}
|
||
|
|
||
|
public Boolean getWrapped() {
|
||
|
return wrapped;
|
||
|
}
|
||
|
|
||
|
public void setWrapped(Boolean wrapped) {
|
||
|
this.wrapped = wrapped;
|
||
|
}
|
||
|
|
||
|
public VerticalAlignment getVerticalAlignment() {
|
||
|
return verticalAlignment;
|
||
|
}
|
||
|
|
||
|
public void setVerticalAlignment(VerticalAlignment verticalAlignment) {
|
||
|
this.verticalAlignment = verticalAlignment;
|
||
|
}
|
||
|
|
||
|
public Short getRotation() {
|
||
|
return rotation;
|
||
|
}
|
||
|
|
||
|
public void setRotation(Short rotation) {
|
||
|
this.rotation = rotation;
|
||
|
}
|
||
|
|
||
|
public Short getIndent() {
|
||
|
return indent;
|
||
|
}
|
||
|
|
||
|
public void setIndent(Short indent) {
|
||
|
this.indent = indent;
|
||
|
}
|
||
|
|
||
|
public BorderStyle getBorderLeft() {
|
||
|
return borderLeft;
|
||
|
}
|
||
|
|
||
|
public void setBorderLeft(BorderStyle borderLeft) {
|
||
|
this.borderLeft = borderLeft;
|
||
|
}
|
||
|
|
||
|
public BorderStyle getBorderRight() {
|
||
|
return borderRight;
|
||
|
}
|
||
|
|
||
|
public void setBorderRight(BorderStyle borderRight) {
|
||
|
this.borderRight = borderRight;
|
||
|
}
|
||
|
|
||
|
public BorderStyle getBorderTop() {
|
||
|
return borderTop;
|
||
|
}
|
||
|
|
||
|
public void setBorderTop(BorderStyle borderTop) {
|
||
|
this.borderTop = borderTop;
|
||
|
}
|
||
|
|
||
|
public BorderStyle getBorderBottom() {
|
||
|
return borderBottom;
|
||
|
}
|
||
|
|
||
|
public void setBorderBottom(BorderStyle borderBottom) {
|
||
|
this.borderBottom = borderBottom;
|
||
|
}
|
||
|
|
||
|
public Short getLeftBorderColor() {
|
||
|
return leftBorderColor;
|
||
|
}
|
||
|
|
||
|
public void setLeftBorderColor(Short leftBorderColor) {
|
||
|
this.leftBorderColor = leftBorderColor;
|
||
|
}
|
||
|
|
||
|
public Short getRightBorderColor() {
|
||
|
return rightBorderColor;
|
||
|
}
|
||
|
|
||
|
public void setRightBorderColor(Short rightBorderColor) {
|
||
|
this.rightBorderColor = rightBorderColor;
|
||
|
}
|
||
|
|
||
|
public Short getTopBorderColor() {
|
||
|
return topBorderColor;
|
||
|
}
|
||
|
|
||
|
public void setTopBorderColor(Short topBorderColor) {
|
||
|
this.topBorderColor = topBorderColor;
|
||
|
}
|
||
|
|
||
|
public Short getBottomBorderColor() {
|
||
|
return bottomBorderColor;
|
||
|
}
|
||
|
|
||
|
public void setBottomBorderColor(Short bottomBorderColor) {
|
||
|
this.bottomBorderColor = bottomBorderColor;
|
||
|
}
|
||
|
|
||
|
public FillPatternType getFillPatternType() {
|
||
|
return fillPatternType;
|
||
|
}
|
||
|
|
||
|
public void setFillPatternType(FillPatternType fillPatternType) {
|
||
|
this.fillPatternType = fillPatternType;
|
||
|
}
|
||
|
|
||
|
public Short getFillBackgroundColor() {
|
||
|
return fillBackgroundColor;
|
||
|
}
|
||
|
|
||
|
public void setFillBackgroundColor(Short fillBackgroundColor) {
|
||
|
this.fillBackgroundColor = fillBackgroundColor;
|
||
|
}
|
||
|
|
||
|
public Short getFillForegroundColor() {
|
||
|
return fillForegroundColor;
|
||
|
}
|
||
|
|
||
|
public void setFillForegroundColor(Short fillForegroundColor) {
|
||
|
this.fillForegroundColor = fillForegroundColor;
|
||
|
}
|
||
|
|
||
|
public Boolean getShrinkToFit() {
|
||
|
return shrinkToFit;
|
||
|
}
|
||
|
|
||
|
public void setShrinkToFit(Boolean shrinkToFit) {
|
||
|
this.shrinkToFit = shrinkToFit;
|
||
|
}
|
||
|
}
|