@syncfusion/ej2-spreadsheet
Version:
Feature-rich JavaScript Spreadsheet (Excel) control with built-in support for selection, editing, formatting, importing and exporting to Excel
727 lines (726 loc) • 16.1 kB
TypeScript
import { ChildProperty } from '@syncfusion/ej2-base';
import { FontFamily, TextAlign, VerticalAlign, FontWeight, FontStyle, TextDecoration, HighlightCell, ChartType, ChartTheme, AutoFillType } from './enum';
import { ValidationType, ValidationOperator, TopBottom, DataBar, ColorScale, IconSet, CFColor } from './enum';
import { CellStyleModel, FormatModel, LegendSettingsModel, AxisModel, DataLabelSettingsModel, ChartModel, MarkerSettingsModel, BorderModel } from './class-model';
import { CellModel } from '../base';
import { LabelPosition, LegendPosition, ChartShape } from './enum';
import { MajorGridLinesModel, MinorGridLinesModel } from './class-model';
/**
* Represents the cell style.
*/
export declare class CellStyle extends ChildProperty<CellStyle> {
/**
* Specifies font family to the cell.
*
* @default 'Calibri'
* @hidden
*/
fontFamily: FontFamily;
/**
* Specifies vertical align to the cell.
*
* @default 'bottom'
*/
verticalAlign: VerticalAlign;
/**
* Specifies text align style to the cell.
*
* @default 'left'
*/
textAlign: TextAlign;
/**
* Specifies text indent style to the cell.
*
* @default '0pt'
*/
textIndent: string;
/**
* Specifies font color to the cell.
*
* @default '#000000'
*/
color: string;
/**
* Specifies background color to the cell.
*
* @default '#ffffff'
*/
backgroundColor: string;
/**
* Specifies font weight to the cell.
*
* @default 'normal'
*/
fontWeight: FontWeight;
/**
* Specifies font style to the cell.
*
* @default 'normal'
*/
fontStyle: FontStyle;
/**
* Specifies font size to the cell.
*
* @default '11pt'
*/
fontSize: string;
/**
* Specifies text decoration to the cell.
*
* @default 'none'
* @aspIgnore
*/
textDecoration: TextDecoration;
/**
* Specifies border of the cell.
*
* @default ''
*/
border: string;
/**
* Specifies top border of the cell.
*
* @default ''
*/
borderTop: string;
/**
* Specifies bottom border of the cell.
*
* @default ''
*/
borderBottom: string;
/**
* Specifies left border of the cell.
*
* @default ''
*/
borderLeft: string;
/**
* Specifies right border of the cell.
*
* @default ''
*/
borderRight: string;
/** @hidden */
bottomPriority: boolean;
}
/**
* Represents the Filter Collection.
*
*/
export declare class FilterCollection extends ChildProperty<FilterCollection> {
/**
* Specifies the sheet index of the filter collection.
*
* @default null
*/
sheetIndex: number;
/**
* Specifies the range of the filter collection.
*
* @default []
*/
filterRange: string;
/**
* Specifies the sheet has filter or not.
*
* @default false
*/
hasFilter: boolean;
/**
* Specifies the filtered column collection.
*
* @default []
*/
column: number[];
/**
* Specifies the condition for column filtering.
*
* @default []
*/
criteria: string[];
/**
* Specifies the value for column filtering.
*
* @default []
*/
value: (string | number | boolean | Date)[];
/**
* Specifies the data type of column filtering.
*
* @default []
*/
dataType: string[];
/**
* Specifies the predicate type of column filtering.
*
* @default []
*/
predicates: string[];
}
/**
* Represents the sort Collection.
*
*/
export declare class SortCollection extends ChildProperty<SortCollection> {
/**
* Specifies the range of the sort collection.
*
*/
sortRange: string;
/**
* Specifies the sorted column collection.
*
*/
columnIndex: number;
/**
* Specifies the order for sorting.
*
*/
order: string;
/**
* Specifies the order for sorting.
*
*/
sheetIndex: number;
}
/**
* Represents a defined name in the spreadsheet.
* A defined name is a meaningful identifier that refers to a specific cell or range, and can be used in formulas.
*/
export declare class DefineName extends ChildProperty<DefineName> {
/**
* Specifies a unique name for the defined name, which can be used in formulas.
*
* @default ''
*/
name: string;
/**
* Defines the scope of the name.
* If not specified, the name is scoped to the entire workbook.
* If a sheet name is provided, the name will be available only within that specific sheet.
*
* @default ''
*/
scope: string;
/**
* Provides a comment or description for the defined name.
*
* @default ''
*/
comment: string;
/**
* Specifies the cell or range reference associated with the defined name.
* The reference can be provided with or without the `=` prefix.
*
* @default ''
*/
refersTo: string;
}
/**
* Configures the Protect behavior for the spreadsheet.
*
*/
export declare class ProtectSettings extends ChildProperty<ProtectSettings> {
/**
* Specifies to allow selection in spreadsheet.
*
* @default false
*/
selectCells: boolean;
/**
* Specifies to allow selection only for unlocked cells in spreadsheet.
*
* @default false
*/
selectUnLockedCells: boolean;
/**
* specifies to allow formating in cells.
*
* @default false
*/
formatCells: boolean;
/**
* Specifies to allow format rows in spreadsheet.
*
* @default false
*/
formatRows: boolean;
/**
* Specifies to allow format columns in spreadsheet.
*
* @default false
*/
formatColumns: boolean;
/**
* Specifies to allow insert Hyperlink in Spreadsheet.
*
* @default false
*/
insertLink: boolean;
}
/**
* Represents the Hyperlink.
*
*/
export declare class Hyperlink extends ChildProperty<Hyperlink> {
/**
* Specifies Hyperlink Address.
*
* @default ''
*/
address: string;
}
/**
* Represents the DataValidation.
*/
export declare class Validation extends ChildProperty<Validation> {
/**
* Specifies Validation Type.
*
* @default 'WholeNumber'
*/
type: ValidationType;
/**
* Specifies Validation Operator.
*
* @default 'Between'
*/
operator: ValidationOperator;
/**
* Specifies Validation Minimum Value.
*
* @default ''
*/
value1: string;
/**
* Specifies Validation Maximum Value.
*
* @default ''
*/
value2: string;
/**
* Specifies IgnoreBlank option in Data Validation.
*
* @default true
*/
ignoreBlank: boolean;
/**
* Specifies InCellDropDown option in Data Validation.
*
* @default true
*/
inCellDropDown: boolean;
/**
* specifies to allow Highlight Invalid Data.
*
* @default false
*/
isHighlighted: boolean;
/**
* Specifies address for validation within the same column.
*
* @default ''
* @hidden
*/
address: string;
}
/**
* Represents the Format.
*/
export declare class Format extends ChildProperty<FormatModel> {
/**
* Specifies the number format code to display value in specified number format.
*
* @default 'General'
*/
format: string;
/**
* Specifies the cell style options.
*
* @default {}
*/
style: CellStyleModel;
/**
* Specifies the range is locked or not, for allow edit range in spreadsheet protect option.
*
* @default true
*/
isLocked: boolean;
}
/**
* Represents the Conditional Formatting.
*
*/
export declare class ConditionalFormat extends ChildProperty<ConditionalFormat> {
/**
* Specifies Conditional formatting Type.
*
* @default 'GreaterThan'
* @aspIgnore
*/
type: HighlightCell | TopBottom | DataBar | ColorScale | IconSet;
/**
* Specifies format.
*
* @default {}
*/
format: FormatModel;
/**
* Specifies Conditional formatting Highlight Color.
*
* @default 'RedFT'
*/
cFColor: CFColor;
/**
* Specifies Conditional formatting Value.
*
* @default ''
*/
value: string;
/**
* Specifies Conditional formatting range.
*
* @default ''
*/
range: string;
/**
* Specifies Conditional formatting action.
*
* @hidden
* @default ''
*/
action: string;
/** @hidden */
result: string[] | number[];
}
/**
* Represents the Legend.
*
*/
export declare class LegendSettings extends ChildProperty<ChartModel> {
/**
* If set to true, legend will be visible.
*
* @default true
*/
visible: boolean;
/**
* Position of the legend in the chart are,
* * Auto: Places the legend based on area type.
* * Top: Displays the legend at the top of the chart.
* * Left: Displays the legend at the left of the chart.
* * Bottom: Displays the legend at the bottom of the chart.
* * Right: Displays the legend at the right of the chart.
*
* @default 'Auto'
*/
position: LegendPosition;
}
/**
* Represents the DataLabelSettings.
*
*/
export declare class DataLabelSettings extends ChildProperty<ChartModel> {
/**
* If set true, data label for series renders.
*
* @default false
*/
visible: boolean;
/**
* Specifies the position of the data label. They are,
* * Outer: Positions the label outside the point.
* * top: Positions the label on top of the point.
* * Bottom: Positions the label at the bottom of the point.
* * Middle: Positions the label to the middle of the point.
* * Auto: Positions the label based on series.
*
* @default 'Auto'
*/
position: LabelPosition;
}
/**
* Represents the Border.
*
*/
export declare class Border extends ChildProperty<ChartModel> {
/**
* The color of the border that accepts value in hex and rgba as a valid CSS color string.
*
* @default ''
*/
color: string;
/**
* The width of the border in pixels.
*
* @default 1
*/
width: number;
}
/**
* Represents the MarkerSettings.
*
*/
export declare class MarkerSettings extends ChildProperty<ChartModel> {
/**
* If set to true the marker for series is rendered. This is applicable only for line and area type series.
*
* @default false
*/
visible: boolean;
/**
* The different shape of a marker:
* * Circle
* * Triangle
* * Diamond
* * Plus
* * None
*
* @default 'Circle'
*/
shape: ChartShape;
/**
* The size of the marker in pixels.
*
* @default 5
*/
size: number;
/**
* The fill color of the marker that accepts value in hex and rgba as a valid CSS color string. By default, it will take series color.
* This property will work only if the `isFilled` property is set to true.
*
* @default null
*/
fill: string;
/**
* By default, the marker gets filled with the fill color. If set to false, the marker background will be transparent.
*
* @default true
*/
isFilled: boolean;
/**
* Options for customizing the border of a marker.
*
* @default {}
*/
border: BorderModel;
}
/**
* Specifies the major grid lines in the `axis`.
*
*/
export declare class MajorGridLines extends ChildProperty<AxisModel> {
/**
* The width of the line in pixels.
*
* @default 0
*/
width: number;
}
/**
* Specifies the minor grid lines in the `axis`.
*
*/
export declare class MinorGridLines extends ChildProperty<AxisModel> {
/**
* The width of the line in pixels.
*
* @default 0
*/
width: number;
}
/**
* Represents the axis.
*
*/
export declare class Axis extends ChildProperty<ChartModel> {
/**
* Specifies the title of an axis.
*
* @default ''
*/
title: string;
/**
* Options for customizing major grid lines.
*
* @default {}
*/
majorGridLines: MajorGridLinesModel;
/**
* Options for customizing minor grid lines.
*
* @default {}
*/
minorGridLines: MinorGridLinesModel;
/**
* If set to true, axis label will be visible.
*
* @default true
*/
visible: boolean;
}
/**
* Represents the Chart.
*/
export declare class Chart extends ChildProperty<CellModel> {
/**
* Specifies the type of a chart.
*
* @default 'Line'
*/
type: ChartType;
/**
* Specifies the theme of a chart.
*
* @default 'Material'
*/
theme: ChartTheme;
/**
* Specifies to switch the row or a column.
*
* @default false
*/
isSeriesInRows: boolean;
/**
* Options to configure the marker
*
* @default {}
*/
markerSettings: MarkerSettingsModel;
/**
* Specifies the selected range or specified range.
*
* @default ''
*/
range: string;
/**
* Specifies chart element id.
*
* @default ''
*/
id: string;
/**
* Title of the chart
*
* @default ''
*/
title: string;
/**
* Specifies the height of the chart.
*
* @default 290
*/
height: number;
/**
* Specifies the width of the chart.
*
* @default 480
*/
width: number;
/**
* Specifies the top position of the chart.
*
* @default 0
* @hidden
*/
protected top: number;
/**
* Specifies the left side of the chart.
*
* @default 0
* @hidden
*/
protected left: number;
/**
* Options for customizing the legend of the chart.
*
* @default {}
*/
legendSettings: LegendSettingsModel;
/**
* Options to configure the horizontal axis.
*
* @default {}
*/
primaryXAxis: AxisModel;
/**
* Options to configure the vertical axis.
*
* @default {}
*/
primaryYAxis: AxisModel;
/**
* The data label for the series.
*
* @default {}
*/
dataLabelSettings: DataLabelSettingsModel;
}
/**
* Represents the Image.
*/
export declare class Image extends ChildProperty<CellModel> {
/**
* Specifies the image source.
*
* @default ''
*/
src: string;
/**
* Specifies image element id.
*
* @default ''
*/
id: string;
/**
* Specifies the height of the image.
*
* @default 300
* @asptype double
*/
height: number;
/**
* Specifies the width of the image.
*
* @default 400
* @asptype double
*/
width: number;
/**
* Specifies the height of the image.
*
* @default 0
* @asptype double
*/
top: number;
/**
* Specifies the width of the image.
*
* @default 0
* @asptype double
*/
left: number;
}
/**
* Represents the AutoFillSettings.
*/
export declare class AutoFillSettings extends ChildProperty<AutoFillSettings> {
/**
* Specifies the auto fill settings. The possible values are
*
* * CopyCells: To update the copied cells of the selected range.
* * FillSeries: To update the filled series of the selected range.
* * FillFormattingOnly: To fill the formats only for the selected range.
* * FillWithoutFormatting: To fill without the format of the selected range.
*
* @default 'FillSeries'
*/
fillType: AutoFillType;
/**
* Specifies whether fill options need to shown or not.
*
* @default true
*/
showFillOptions: boolean;
}