1 | import { Column } from "../entities/column";
|
2 | import { ExportParams } from "./exportParams";
|
3 | import { XmlElement } from "./iXmlFactory";
|
4 | export interface ExcelStyle {
|
5 | id: string;
|
6 | alignment?: ExcelAlignment;
|
7 | borders?: ExcelBorders;
|
8 | dataType?: ExcelDataType;
|
9 | font?: ExcelFont;
|
10 | interior?: ExcelInterior;
|
11 | numberFormat?: ExcelNumberFormat;
|
12 | protection?: ExcelProtection;
|
13 | |
14 |
|
15 |
|
16 | name?: string;
|
17 | }
|
18 | export interface ExcelAlignment {
|
19 | horizontal?: 'Automatic' | 'Left' | 'Center' | 'Right' | 'Fill' | 'Justify' | 'CenterAcrossSelection' | 'Distributed' | 'JustifyDistributed';
|
20 | indent?: number;
|
21 | readingOrder?: 'RightToLeft' | 'LeftToRight' | 'Context';
|
22 | rotate?: number;
|
23 | shrinkToFit?: boolean;
|
24 | vertical?: 'Automatic' | 'Top' | 'Bottom' | 'Center' | 'Justify' | 'Distributed' | 'JustifyDistributed';
|
25 | wrapText?: boolean;
|
26 | |
27 |
|
28 |
|
29 | verticalText?: boolean;
|
30 | }
|
31 | export interface ExcelBorders {
|
32 | borderBottom?: ExcelBorder;
|
33 | borderLeft?: ExcelBorder;
|
34 | borderRight?: ExcelBorder;
|
35 | borderTop?: ExcelBorder;
|
36 | }
|
37 | export interface ExcelBorder {
|
38 | color?: string;
|
39 | lineStyle?: 'None' | 'Continuous' | 'Dash' | 'Dot' | 'DashDot' | 'DashDotDot' | 'SlantDashDot' | 'Double';
|
40 | weight?: 0 | 1 | 2 | 3;
|
41 | }
|
42 | export interface ExcelFont {
|
43 | bold?: boolean;
|
44 | color?: string;
|
45 | family?: string;
|
46 | fontName?: string;
|
47 | italic?: boolean;
|
48 | outline?: boolean;
|
49 | shadow?: boolean;
|
50 | size?: number;
|
51 | strikeThrough?: boolean;
|
52 | underline?: 'Single' | 'Double';
|
53 | verticalAlign?: 'Superscript' | 'Subscript';
|
54 | |
55 |
|
56 |
|
57 | charSet?: number;
|
58 | }
|
59 | export interface ExcelInterior {
|
60 | pattern: 'None' | 'Solid' | 'Gray75' | 'Gray50' | 'Gray25' | 'Gray125' | 'Gray0625' | 'HorzStripe' | 'VertStripe' | 'ReverseDiagStripe' | 'DiagStripe' | 'DiagCross' | 'ThickDiagCross' | 'ThinHorzStripe' | 'ThinVertStripe' | 'ThinReverseDiagStripe' | 'ThinDiagStripe' | 'ThinHorzCross' | 'ThinDiagCross';
|
61 | color?: string;
|
62 | patternColor?: string;
|
63 | }
|
64 | export interface ExcelNumberFormat {
|
65 | format: string;
|
66 | }
|
67 | export interface ExcelProtection {
|
68 | protected: boolean;
|
69 | hideFormula: boolean;
|
70 | }
|
71 | export interface ExcelWorksheet {
|
72 | name: string;
|
73 | table: ExcelTable;
|
74 | }
|
75 | export interface ExcelTable {
|
76 | columns: ExcelColumn[];
|
77 | rows: ExcelRow[];
|
78 | }
|
79 | export interface ExcelColumn {
|
80 | min?: number;
|
81 | max?: number;
|
82 | outlineLevel?: number;
|
83 | width?: number;
|
84 | s?: number;
|
85 | hidden?: boolean;
|
86 | bestFit?: boolean;
|
87 | }
|
88 | export interface ExcelRow {
|
89 | index?: number;
|
90 | collapsed?: boolean;
|
91 | hidden?: boolean;
|
92 | height?: number;
|
93 | outlineLevel?: number;
|
94 | s?: number;
|
95 | cells: ExcelCell[];
|
96 | }
|
97 | export interface ExcelCell {
|
98 | ref?: string;
|
99 | styleId?: string;
|
100 | data: ExcelData;
|
101 | mergeAcross?: number;
|
102 | collapsibleRanges?: number[][];
|
103 | }
|
104 | export interface ExcelImage {
|
105 | id: string;
|
106 | base64: string;
|
107 | imageType: 'jpg' | 'png' | 'gif';
|
108 | altText?: string;
|
109 | fitCell?: boolean;
|
110 | transparency?: number;
|
111 | rotation?: number;
|
112 | recolor?: 'Grayscale' | 'Sepia' | 'Washout';
|
113 | width?: number;
|
114 | height?: number;
|
115 | position?: {
|
116 | row?: number;
|
117 | rowSpan?: number;
|
118 | column?: number;
|
119 | colSpan?: number;
|
120 | offsetX?: number;
|
121 | offsetY?: number;
|
122 | };
|
123 | }
|
124 | export declare type ExcelDataType = 'String' | 'Formula' | 'Number' | 'Boolean' | 'DateTime' | 'Error';
|
125 | export declare type ExcelOOXMLDataType = 'str' | 's' | 'f' | 'inlineStr' | 'n' | 'b' | 'd' | 'e' | 'empty';
|
126 | export interface ExcelData {
|
127 | type: ExcelDataType | ExcelOOXMLDataType;
|
128 | value: string | null;
|
129 | }
|
130 | export interface ExcelRelationship {
|
131 | Id: string;
|
132 | Type: string;
|
133 | Target: string;
|
134 | }
|
135 | export interface ExcelContentType {
|
136 | name: 'Default' | 'Override';
|
137 | ContentType: string;
|
138 | Extension?: string;
|
139 | PartName?: string;
|
140 | }
|
141 | export interface ExcelXMLTemplate {
|
142 | getTemplate(styleProperties?: ExcelStyle | ExcelWorksheet | ExcelColumn | ExcelRow | ExcelCell): XmlElement;
|
143 | }
|
144 | export interface ExcelOOXMLTemplate {
|
145 | getTemplate(config?: any, idx?: number, currentSheet?: number): XmlElement;
|
146 | convertType?(type: string): string;
|
147 | }
|
148 | export declare enum ExcelFactoryMode {
|
149 | SINGLE_SHEET = 0,
|
150 | MULTI_SHEET = 1
|
151 | }
|
152 | export interface ColumnWidthCallbackParams {
|
153 | column: Column | null;
|
154 | index: number;
|
155 | }
|
156 | export interface RowHeightCallbackParams {
|
157 | rowIndex: number;
|
158 | }
|
159 | export interface ExcelExportParams extends ExportParams<ExcelCell[][]> {
|
160 | author?: string;
|
161 | autoConvertFormulas?: boolean;
|
162 | columnWidth?: number | ((params: ColumnWidthCallbackParams) => number);
|
163 | exportMode?: 'xlsx' | 'xml';
|
164 | fontSize?: number;
|
165 | headerRowHeight?: number | ((params: RowHeightCallbackParams) => number);
|
166 | rowHeight?: number | ((params: RowHeightCallbackParams) => number);
|
167 | sheetName?: string;
|
168 | margins?: ExcelSheetMargin;
|
169 | pageSetup?: ExcelSheetPageSetup;
|
170 | headerFooterConfig?: ExcelHeaderFooterConfig;
|
171 | suppressTextAsCDATA?: boolean;
|
172 | mimeType?: string;
|
173 | /** Use to export an image for the gridCell in question. */
|
174 | addImageToCell?: (rowIndex: number, column: Column, value: string) => {
|
175 | image: ExcelImage;
|
176 | value?: string;
|
177 | } | undefined;
|
178 | }
|
179 | export interface ExcelExportMultipleSheetParams {
|
180 | author?: string;
|
181 | data: string[];
|
182 | fileName?: string;
|
183 | fontSize?: number;
|
184 | mimeType?: string;
|
185 | }
|
186 | export interface ExcelHeaderFooterConfig {
|
187 | all?: ExcelHeaderFooter;
|
188 | first?: ExcelHeaderFooter;
|
189 | even?: ExcelHeaderFooter;
|
190 | }
|
191 | export interface ExcelHeaderFooter {
|
192 | header?: ExcelHeaderFooterContent[];
|
193 | footer?: ExcelHeaderFooterContent[];
|
194 | }
|
195 | export interface ExcelHeaderFooterContent {
|
196 | value: string;
|
197 | position?: 'Left' | 'Center' | 'Right';
|
198 | font?: ExcelFont;
|
199 | }
|
200 | export interface IExcelCreator {
|
201 | exportDataAsExcel(params?: ExcelExportParams): void;
|
202 | getDataAsExcel(params?: ExcelExportParams): Blob | string | undefined;
|
203 | getSheetDataForExcel(params?: ExcelExportParams): string;
|
204 | getMultipleSheetsAsExcel(params: ExcelExportMultipleSheetParams): Blob | undefined;
|
205 | exportMultipleSheetsAsExcel(params: ExcelExportMultipleSheetParams): void;
|
206 |
|
207 | setFactoryMode(factoryMode: ExcelFactoryMode, exportMode: 'xml' | 'xlsx'): void;
|
208 | getFactoryMode(exportMode: 'xml' | 'xlsx'): ExcelFactoryMode;
|
209 | }
|
210 | export interface ExcelSheetMargin {
|
211 | top?: number;
|
212 | right?: number;
|
213 | bottom?: number;
|
214 | left?: number;
|
215 | header?: number;
|
216 | footer?: number;
|
217 | }
|
218 | export interface ExcelSheetPageSetup {
|
219 | orientation?: 'Portrait' | 'Landscape';
|
220 | pageSize?: 'Letter' | 'Letter Small' | 'Tabloid' | 'Ledger' | 'Legal' | 'Statement' | 'Executive' | 'A3' | 'A4' | 'A4 Small' | 'A5' | 'A6' | 'B4' | 'B5' | 'Folio' | 'Envelope' | 'Envelope DL' | 'Envelope C5' | 'Envelope B5' | 'Envelope C3' | 'Envelope C4' | 'Envelope C6' | 'Envelope Monarch' | 'Japanese Postcard' | 'Japanese Double Postcard';
|
221 | }
|