UNPKG

@mertdeveci55/univer-import-export

Version:

Excel/CSV import and export library for Univer spreadsheets with full format preservation

433 lines (432 loc) 12.1 kB
import { ChartTypeBits } from "../common/constant"; import { LuckyConditionFormat } from "./LuckyCondition"; import { IDefinedNames } from "./LuckyDefineName"; import { LuckyFilterFormat } from "./luckyFilter"; import { LuckyVerificationFormat } from "./LuckyVerification"; export interface ILuckyFile { info: ILuckyFileInfo; sheets: IluckySheet[]; workbook: IWorkBookInfo; } export interface IWorkBookInfo { defineNames?: IDefinedNames; } export interface ILuckyFileInfo { name: string; creator: string; lastmodifiedby: string; createdTime: string; modifiedTime: string; company: string; appversion: string; } export interface IluckySheet { name: string; color: string; config?: IluckySheetConfig; index: string; status: string; order: string; row: number; column: number; luckysheet_select_save?: IluckySheetSelection[]; scrollLeft: number; scrollTop: number; celldata?: IluckySheetCelldata[]; chart?: IluckySheetChart[]; isPivotTable: boolean; pivotTable?: IluckySheetPivotTable; luckysheet_conditionformat_save?: IluckysheetConditionFormat[]; freezen?: IluckysheetFrozen; calcChain?: IluckysheetCalcChain[]; zoomRatio: number; showGridLines: string; defaultColWidth: number; defaultRowHeight: number; images: IluckyImages; charts: IluckyChart[]; dataVerification: IluckysheetDataVerification; hyperlink: IluckysheetHyperlink; hide: number; conditionalFormatting: LuckyConditionFormat[]; dataVerificationList: LuckyVerificationFormat[]; filter: LuckyFilterFormat; } export interface IluckySheetSelection { row: number[]; column: number[]; } export interface IluckySheetChart { } export interface IluckySheetPivotTable { pivot_select_save: IluckySheetSelection; pivotDataSheetIndex: string | undefined; column: IluckySheetPivotTableField[]; row: IluckySheetPivotTableField[]; filter: IluckySheetPivotTableField[]; filterparm: IluckySheetPivotTablefilterParam; values: IluckySheetPivotTableField[]; showType: string; pivotDatas: any[][]; drawPivotTable: boolean; pivotTableBoundary: number[]; } export interface IluckySheetPivotTableField { index: number; name: string; fullname: string; sumtype: string; nameindex: number; } export interface IluckySheetPivotTablefilterParam { [index: string]: IluckySheetPivotTablefilterParamItem; } export interface IluckySheetPivotTablefilterParamItem { caljs: IluckySheetPivotTablefilterParamItemCaljs; rowhidden: IluckySheetPivotTablefilterParamItemRowhidden; selected: IluckySheetPivotTablefilterParamItemSelected; } export interface IluckySheetPivotTablefilterParamItemCaljs { text: string; type: string; value: string; value1: string; } export interface IluckySheetPivotTablefilterParamItemRowhidden { [index: number]: number; } export interface IluckySheetPivotTablefilterParamItemSelected { [index: number]: number; } export interface IluckysheetFrozen { horizen: number | undefined; vertical: number | undefined; } export interface IluckysheetConditionFormat { type: string; cellrange: IluckySheetSelection[]; format: string[] | IluckysheetCFDefaultFormat | IluckysheetCFIconsFormat; conditionName: string | undefined; conditionRange: IluckySheetSelection[]; conditionValue: any[]; } export interface IluckysheetCFDefaultFormat { textColor: string | undefined | null; cellColor: string | undefined | null; } export interface IluckysheetCFIconsFormat { len: string | number; leftMin: string | number; top: string | number; } export interface IluckysheetCalcChain { r: number; c: number; index: string | undefined; } export interface IluckySheetCelldata { r: number; c: number; v: IluckySheetCelldataValue | string | null; } export interface IluckySheetCelldataValue { ct: ILuckySheetCellFormat | undefined; bg: string | undefined; ff: string | undefined; fc: string | undefined; bl: number | undefined; it: number | undefined; fs: number | undefined; cl: number | undefined; un: number | undefined; vt: number | undefined; ht: number | undefined; mc: IluckySheetCelldataValueMerge | undefined; tr: number | undefined; tb: number | undefined; v: string | undefined; m: string | undefined; rt: number | undefined; f: string | undefined; qp: number | undefined; ti: number | undefined; ft?: string | undefined; ref?: string | undefined; } export interface ILuckySheetCellFormat { fa: string; t: string; s: Array<IluckySheetCelldataValue | ILuckyInlineString> | undefined; ci: any; } export interface IluckySheetCelldataValueMerge { rs?: number; cs?: number; r: number; c: number; } export interface IluckySheetConfig { merge?: IluckySheetConfigMerges; borderInfo: IluckySheetborderInfoCellForImp[]; rowlen?: IluckySheetRowAndColumnLen; columnlen?: IluckySheetRowAndColumnLen; rowhidden?: IluckySheetRowAndColumnHidden; colhidden?: IluckySheetRowAndColumnHidden; customHeight: IluckySheetRowAndColumnHidden; customWidth: IluckySheetRowAndColumnHidden; } export interface IluckySheetConfigMerges { [firstRange: string]: IluckySheetConfigMerge; } export interface IluckySheetConfigMerge { r: number; c: number; rs: number; cs: number; } export interface IluckySheetborderInfoCell { rangeType: string; value: IluckySheetborderInfoCellValue; } export interface IluckySheetborderInfoCellValue { row_index: number; col_index: number; l: IluckySheetborderInfoCellValueStyle; r: IluckySheetborderInfoCellValueStyle; t: IluckySheetborderInfoCellValueStyle; b: IluckySheetborderInfoCellValueStyle; tl_br: IluckySheetborderInfoCellValueStyle; bl_tr: IluckySheetborderInfoCellValueStyle; } export interface IluckySheetborderInfoCellValueStyle { "style": number; "color": string; } export interface IluckySheetborderInfoRange { rangeType: string; borderType: string; style: string; color: string; range: IluckySheetSelection[]; } export interface IluckySheetborderInfoCellForImp { rangeType: string; cells?: string[]; value: IluckySheetborderInfoCellValue; } export interface IMapluckySheetborderInfoCellForImp { [index: number]: IluckySheetborderInfoCellForImp; } export interface IluckySheetRowAndColumnLen { [index: string]: number; } export interface IluckySheetRowAndColumnHidden { [index: string]: number; } export interface IFormulaSI { [index: string]: IFormulaCell; } export interface IFormulaCell { [index: string]: IFormulaCellValue; } export interface IFormulaCellValue { t: string; ref: string; si: string; fv: string; cellValue: IluckySheetCelldata; } export interface ILuckyInlineString { ff: string | undefined; fc: string | undefined; fs: number | undefined; cl: number | undefined; un: number | undefined; bl: number | undefined; it: number | undefined; va: number | undefined; v: string | undefined; } export interface IluckyImage { border: IluckyImageBorder; crop: IluckyImageCrop; default: IluckyImageDefault; fixedLeft: number; fixedTop: number; isFixedPos: Boolean; originHeight: number; originWidth: number; src: string; type: string; [key: string]: any; } export interface IluckyImageBorder { color: string; radius: number; style: string; width: number; } export interface IluckyImageCrop { height: number; offsetLeft: number; offsetTop: number; width: number; } export interface IluckyImageDefault { height: number; left: number; top: number; width: number; } export interface IluckyImages { [index: string]: IluckyImage; } export interface IcellOtherInfo { [index: string]: IformulaList; } export interface IformulaList { [index: string]: IformulaListItem; } export interface IformulaListItem { r: number; c: number; } export interface IluckyChartImage { border: IluckyImageBorder; crop: IluckyImageCrop; default: IluckyImageDefault; fixedLeft: number; fixedTop: number; isFixedPos: Boolean; originHeight: number; originWidth: number; data: IluckyChartImageData; type: string; [key: string]: any; } export interface IluckyChartImageData { border: string; background: string; range: string; chartType: ChartTypeBits; isRowDirection: boolean; } export interface IluckyCharts { [index: string]: IluckyChart; } export interface IluckyChart { id: string; range: string; chartType: ChartTypeBits; context: ILuckyChartContext; style: ILuckyChartStyle; isRowDirection: boolean; } export interface ILuckyChartContext { categoryIndex: number; seriesIndexes: number[]; } export interface ILuckyChartStyle { titles: ILuckyChartStyleTitles; runtime: any; width: number; height: number; backgroundColor?: string; borderColor?: string; xAxis?: ILuckyChartStyleAxis; yAxis?: ILuckyChartStyleAxis; allSeriesStyle?: ILuckyChartStyleSeries; seriesStyleMap?: ILuckyChartStyleSerieStyles; legend?: ILuckyChartStyleLegend; gradientFill?: boolean; } export interface ILuckyChartStyleTitles { titlePosition?: 'top' | 'bottom' | 'left' | 'right' | 'hide'; [key: string]: ILuckyChartStyleTitle | string; } export interface ILuckyChartStyleTitle extends ILuckyChartStyleBase { content: string; } export interface ILuckyChartStyleBase { color?: string; fontSize?: number; bold?: boolean; italic?: boolean; } export interface ILuckyChartStyleAxis { label: ILuckyChartStyleAxisLabel; reverse: boolean; lineVisible: boolean; gridLine: { visible: boolean; width: number; color: string; }; tick: { visible: boolean; position: 'inside' | 'outside'; length?: number; lineWidth?: number; }; min: number; max: number; } export interface ILuckyChartStyleAxisLabel extends ILuckyChartStyleBase { axisTitleAlign: 'start' | 'center' | 'end'; rotate: number; } export interface ILuckyChartStyleSeries { border?: ILuckyChartStyleBorder; label?: { visible?: boolean; }; fillOpacity?: number; } export interface ILuckyChartStyleBorder { dashType: 'solid' | 'dotted' | 'dashed'; width: number; opacity: number; color: string; } export interface ILuckyChartStyleSerieStyles { [key: string]: ILuckyChartStyleSerieStyle; } export interface ILuckyChartStyleSerieStyle { border?: ILuckyChartStyleBorder; rightYAxis?: boolean; label: { visible: boolean; position: 'inside' | 'outside'; contentType: number; } & ILuckyChartStyleBase; } export interface ILuckyChartStyleLegend { position: 'top' | 'bottom' | 'left' | 'right' | 'hide'; selectMode?: 'single' | 'multiple' | 'close'; label?: ILuckyChartStyleBase; } export interface IluckysheetDataVerification { [key: string]: IluckysheetDataVerificationValue; } export interface IluckysheetDataVerificationValue { type: IluckysheetDataVerificationType; type2: string | null; value1: string | number | null; value2: string | number | null; checked: boolean; remote: boolean; prohibitInput: boolean; hintShow: boolean; hintText: string; } export type IluckysheetDataVerificationType = "dropdown" | "checkbox" | "number" | "number_integer" | "number_decimal" | "text_content" | "text_length" | "date" | "validity"; export interface IluckysheetHyperlink { [key: string]: IluckysheetHyperlinkValue; } export interface IluckysheetHyperlinkValue { linkAddress: string; linkTooltip: string; linkType: IluckysheetHyperlinkType; display: string; } export type IluckysheetHyperlinkType = "internal" | "external";