@univerjs/sheets-ui 0.1.7 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/lib/cjs/index.js +13 -12
  2. package/lib/es/index.js +8165 -7558
  3. package/lib/index.css +1 -1
  4. package/lib/types/commands/commands/__tests__/create-command-test-bed.d.ts +1 -1
  5. package/lib/types/commands/commands/__tests__/create-selection-command-test-bed.d.ts +2 -2
  6. package/lib/types/controllers/cell-custom-render.controller.d.ts +3 -0
  7. package/lib/types/controllers/clipboard/utils.d.ts +10 -9
  8. package/lib/types/controllers/contextmenu/contextmenu.controller.d.ts +4 -2
  9. package/lib/types/controllers/editor/__tests__/create-test-bed.d.ts +1 -1
  10. package/lib/types/controllers/editor/editing.controller.d.ts +2 -2
  11. package/lib/types/controllers/editor/end-edit.controller.d.ts +2 -2
  12. package/lib/types/controllers/editor/start-edit.controller.d.ts +2 -2
  13. package/lib/types/controllers/editor-bridge.controller.d.ts +2 -2
  14. package/lib/types/controllers/force-string-alert.controller.d.ts +13 -0
  15. package/lib/types/controllers/force-string-render.controller.d.ts +15 -0
  16. package/lib/types/controllers/format-painter/format-painter.controller.d.ts +2 -2
  17. package/lib/types/controllers/{freeze.controller.d.ts → freeze.render-controller.d.ts} +5 -8
  18. package/lib/types/controllers/header-menu.controller.d.ts +2 -2
  19. package/lib/types/controllers/header-move.controller.d.ts +2 -2
  20. package/lib/types/controllers/{header-resize.controller.d.ts → header-resize.render-controller.d.ts} +6 -7
  21. package/lib/types/controllers/header-unhide.render-controller.d.ts +20 -0
  22. package/lib/types/controllers/menu/__tests__/create-menu-test-bed.d.ts +8 -1
  23. package/lib/types/controllers/menu/menu-util.d.ts +9 -0
  24. package/lib/types/controllers/scroll.controller.d.ts +2 -2
  25. package/lib/types/controllers/selection.controller.d.ts +3 -2
  26. package/lib/types/controllers/sheet-render.controller.d.ts +14 -4
  27. package/lib/types/controllers/utils/__tests__/cell-tools.spec.d.ts +16 -0
  28. package/lib/types/controllers/utils/cell-tools.d.ts +17 -0
  29. package/lib/types/controllers/utils/component-tools.d.ts +3 -3
  30. package/lib/types/controllers/utils/range-tools.d.ts +17 -0
  31. package/lib/types/controllers/zoom.controller.d.ts +2 -2
  32. package/lib/types/index.d.ts +6 -1
  33. package/lib/types/locale/zh-CN.d.ts +9 -0
  34. package/lib/types/services/auto-fill/tools.d.ts +1 -0
  35. package/lib/types/services/auto-fill/type.d.ts +4 -3
  36. package/lib/types/services/canvas-pop-manager.service.d.ts +4 -2
  37. package/lib/types/services/cell-alert-manager.service.d.ts +11 -4
  38. package/lib/types/services/clipboard/__tests__/clipboard-paste-alignment.spec.d.ts +16 -0
  39. package/lib/types/services/clipboard/__tests__/clipboard-paste-border.spec.d.ts +16 -0
  40. package/lib/types/services/clipboard/__tests__/clipboard-paste-font.spec.d.ts +16 -0
  41. package/lib/types/services/clipboard/__tests__/clipboard-paste-form-excel.spec.d.ts +16 -0
  42. package/lib/types/services/clipboard/__tests__/clipboard-paste-from-google.spec.d.ts +16 -0
  43. package/lib/types/services/clipboard/__tests__/clipboard-paste-rotate.spec.d.ts +16 -0
  44. package/lib/types/services/clipboard/__tests__/clipboard-test-bed.d.ts +1 -1
  45. package/lib/types/services/clipboard/__tests__/constant.d.ts +27 -0
  46. package/lib/types/services/clipboard/clipboard.service.d.ts +8 -4
  47. package/lib/types/services/clipboard/copy-content-cache.d.ts +3 -2
  48. package/lib/types/services/clipboard/html-to-usm/parse-node-style.d.ts +1 -1
  49. package/lib/types/services/clipboard/type.d.ts +24 -8
  50. package/lib/types/services/clipboard/utils.d.ts +3 -0
  51. package/lib/types/services/editor-bridge.service.d.ts +2 -2
  52. package/lib/types/services/hover-manager.service.d.ts +4 -5
  53. package/lib/types/services/mark-selection/mark-selection.service.d.ts +3 -5
  54. package/lib/types/services/selection/__test__/create-service-test-bed.d.ts +1 -1
  55. package/lib/types/services/sheet-skeleton-manager.service.d.ts +6 -3
  56. package/lib/types/services/shortcut-experience.service.d.ts +2 -2
  57. package/lib/types/sheets-ui-plugin.d.ts +8 -4
  58. package/lib/types/views/cell-alert/CellAlertPopup.d.ts +4 -1
  59. package/lib/types/views/header-unhide-shape.d.ts +1 -1
  60. package/lib/types/views/sheet-canvas-view.d.ts +6 -5
  61. package/lib/types/views/sheet-container/SheetContainer.d.ts +3 -3
  62. package/lib/umd/index.js +14 -13
  63. package/package.json +25 -25
  64. package/lib/types/controllers/header-unhide.controller.d.ts +0 -21
@@ -7,13 +7,13 @@ import { Disposable, ICommandService, IUniverInstanceService } from '@univerjs/c
7
7
 
8
8
  export declare class ZoomController extends Disposable {
9
9
  private readonly _sheetSkeletonManagerService;
10
- private readonly _currentUniverService;
10
+ private readonly _univerInstanceService;
11
11
  private readonly _commandService;
12
12
  private readonly _renderManagerService;
13
13
  private readonly _selectionRenderService;
14
14
  private readonly _selectionManagerService;
15
15
  private readonly _scrollManagerService;
16
- constructor(_sheetSkeletonManagerService: SheetSkeletonManagerService, _currentUniverService: IUniverInstanceService, _commandService: ICommandService, _renderManagerService: IRenderManagerService, _selectionRenderService: ISelectionRenderService, _selectionManagerService: SelectionManagerService, _scrollManagerService: ScrollManagerService);
16
+ constructor(_sheetSkeletonManagerService: SheetSkeletonManagerService, _univerInstanceService: IUniverInstanceService, _commandService: ICommandService, _renderManagerService: IRenderManagerService, _selectionRenderService: ISelectionRenderService, _selectionManagerService: SelectionManagerService, _scrollManagerService: ScrollManagerService);
17
17
  dispose(): void;
18
18
  private _initialize;
19
19
  private _zoomEventBinding;
@@ -18,10 +18,13 @@ export { getEditorObject } from './basics/editor/get-editor-object';
18
18
  export { AutoFillCommand } from './commands/commands/auto-fill.command';
19
19
  export { SheetPasteCommand } from './commands/commands/clipboard.command';
20
20
  export { SheetCopyCommand } from './commands/commands/clipboard.command';
21
+ export { expandToContinuousRange } from './commands/commands/utils/selection-utils';
21
22
  export { ExpandSelectionCommand, JumpOver, MoveSelectionCommand } from './commands/commands/set-selection.command';
22
23
  export { SetCellEditVisibleArrowOperation, SetCellEditVisibleOperation } from './commands/operations/cell-edit.operation';
23
24
  export { SetScrollOperation } from './commands/operations/scroll.operation';
24
25
  export { ScrollController } from './controllers/scroll.controller';
26
+ export { deriveStateFromActiveSheet$ } from './controllers/menu/menu-util';
27
+ export { SheetRenderController } from './controllers/sheet-render.controller';
25
28
  export { SetZoomRatioOperation } from './commands/operations/set-zoom-ratio.operation';
26
29
  export { ResetScrollCommand, ScrollCommand, ScrollToCellCommand, SetScrollRelativeCommand, type IScrollCommandParams, type IScrollToCellCommandParams, type ISetScrollRelativeCommandParams, } from './commands/commands/set-scroll.command';
27
30
  export { VIEWPORT_KEY } from './common/keys';
@@ -39,7 +42,7 @@ export type { ICopyDataPiece, ISheetAutoFillHook } from './services/auto-fill/ty
39
42
  export { APPLY_TYPE, DATA_TYPE, type IAutoFillRule } from './services/auto-fill/type';
40
43
  export { type ICopyDataInTypeIndexInfo } from './services/auto-fill/type';
41
44
  export { ISheetClipboardService, PREDEFINED_HOOK_NAME, SheetClipboardService, } from './services/clipboard/clipboard.service';
42
- export type { ICellDataWithSpanInfo, ISheetClipboardHook, ISheetRangeLocation, ICopyPastePayload } from './services/clipboard/type';
45
+ export type { ICellDataWithSpanInfo, ISheetClipboardHook, ISheetRangeLocation, ISheetDiscreteRangeLocation, ICopyPastePayload } from './services/clipboard/type';
43
46
  export { COPY_TYPE } from './services/clipboard/type';
44
47
  export { getRepeatRange } from './services/clipboard/utils';
45
48
  export { CellEditorManagerService, ICellEditorManagerService } from './services/editor/cell-editor-manager.service';
@@ -61,3 +64,5 @@ export { SHEET_VIEW_KEY } from './common/keys';
61
64
  export { SheetCanvasPopManagerService } from './services/canvas-pop-manager.service';
62
65
  export { mergeSetRangeValues } from './services/clipboard/utils';
63
66
  export type { IAutoFillLocation } from './services/auto-fill/type';
67
+ export type { IDiscreteRange } from './controllers/utils/range-tools';
68
+ export { virtualizeDiscreteRanges, rangeToDiscreteRange } from './controllers/utils/range-tools';
@@ -261,6 +261,12 @@ declare const locale: {
261
261
  dismantleMergeCellWaring: string;
262
262
  };
263
263
  };
264
+ filter: {
265
+ confirm: {
266
+ error: string;
267
+ notAllowedToInsertRange: string;
268
+ };
269
+ };
264
270
  textWrap: {
265
271
  overflow: string;
266
272
  wrap: string;
@@ -401,6 +407,7 @@ declare const locale: {
401
407
  };
402
408
  info: {
403
409
  tooltip: string;
410
+ error: string;
404
411
  notChangeMerge: string;
405
412
  detailUpdate: string;
406
413
  detailSave: string;
@@ -424,10 +431,12 @@ declare const locale: {
424
431
  tipColumnWidthLimit: string;
425
432
  pageInfoFull: string;
426
433
  problem: string;
434
+ forceStringInfo: string;
427
435
  };
428
436
  clipboard: {
429
437
  paste: {
430
438
  exceedMaxCells: string;
439
+ overlappingMergedCells: string;
431
440
  };
432
441
  shortCutNotify: {
433
442
  title: string;
@@ -75,6 +75,7 @@ export declare function fillCopy(data: Array<Nullable<ICellData>>, len: number):
75
75
  t: CellValueType | null;
76
76
  f: string | null;
77
77
  si: string | null;
78
+ custom?: Nullable<Record<string, any>>;
78
79
  }[];
79
80
  export declare function fillCopyStyles(data: Array<Nullable<ICellData>>, len: number): {
80
81
  s: Nullable<string | import('@univerjs/core').IStyleData>;
@@ -1,4 +1,5 @@
1
- import { Direction, ICellData, IMutationInfo, IRange, Nullable } from '@univerjs/core';
1
+ import { IDiscreteRange } from '../../controllers/utils/range-tools';
2
+ import { Direction, ICellData, IMutationInfo, Nullable } from '@univerjs/core';
2
3
 
3
4
  export declare enum AutoFillHookType {
4
5
  Append = "APPEND",
@@ -6,8 +7,8 @@ export declare enum AutoFillHookType {
6
7
  Only = "ONLY"
7
8
  }
8
9
  export interface IAutoFillLocation {
9
- source: IRange;
10
- target: IRange;
10
+ source: IDiscreteRange;
11
+ target: IDiscreteRange;
11
12
  unitId: string;
12
13
  subUnitId: string;
13
14
  }
@@ -5,13 +5,16 @@ import { ICanvasPopupService } from '@univerjs/ui';
5
5
  import { IRenderManagerService, BaseObject, Viewport } from '@univerjs/engine-render';
6
6
  import { Nullable, Disposable, ICommandService, IUniverInstanceService } from '@univerjs/core';
7
7
 
8
- interface ICanvasPopup {
8
+ export interface ICanvasPopup {
9
9
  componentKey: string;
10
10
  mask?: boolean;
11
11
  onClickOutside?: (e: MouseEvent) => void;
12
12
  direction?: 'vertical' | 'horizontal';
13
13
  offset?: [number, number];
14
14
  excludeOutside?: HTMLElement[];
15
+ /** Close the popup even if the outside element clicked is its target. */
16
+ closeOnSelfTarget?: boolean;
17
+ extraProps?: Record<string, any>;
15
18
  }
16
19
  export declare class SheetCanvasPopManagerService extends Disposable {
17
20
  private readonly _globalPopupManagerService;
@@ -41,4 +44,3 @@ export declare class SheetCanvasPopManagerService extends Disposable {
41
44
  */
42
45
  attachPopupToCell(row: number, col: number, popup: ICanvasPopup, viewport?: Viewport): Nullable<IDisposable>;
43
46
  }
44
- export {};
@@ -1,7 +1,7 @@
1
1
  import { SheetCanvasPopManagerService } from './canvas-pop-manager.service';
2
2
  import { IRenderManagerService } from '@univerjs/engine-render';
3
3
  import { ISheetLocation } from '@univerjs/sheets';
4
- import { Nullable } from '@univerjs/core';
4
+ import { IDisposable } from '@wendellhu/redi';
5
5
 
6
6
  export declare enum CellAlertType {
7
7
  INFO = 0,
@@ -15,16 +15,23 @@ export interface ICellAlert {
15
15
  location: ISheetLocation;
16
16
  width: number;
17
17
  height: number;
18
+ key: string;
18
19
  }
19
20
  export declare class CellAlertManagerService {
20
21
  private readonly _renderManagerService;
21
22
  private readonly _canvasPopManagerService;
22
23
  private _currentAlert$;
23
- private _currentPopup;
24
24
  private _currentAlert;
25
- get currentAlert(): Nullable<ICellAlert>;
26
- currentAlert$: import('rxjs').Observable<Nullable<ICellAlert>>;
25
+ get currentAlert(): Map<string, {
26
+ alert: ICellAlert;
27
+ dispose: IDisposable;
28
+ }>;
29
+ currentAlert$: import('rxjs').Observable<[string, {
30
+ alert: ICellAlert;
31
+ dispose: IDisposable;
32
+ }][]>;
27
33
  constructor(_renderManagerService: IRenderManagerService, _canvasPopManagerService: SheetCanvasPopManagerService);
28
34
  showAlert(alert: ICellAlert): void;
35
+ removeAlert(key: string): void;
29
36
  clearAlert(): void;
30
37
  }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright 2023-present DreamNum Inc.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export {};
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright 2023-present DreamNum Inc.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export {};
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright 2023-present DreamNum Inc.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export {};
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright 2023-present DreamNum Inc.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export {};
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright 2023-present DreamNum Inc.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export {};
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright 2023-present DreamNum Inc.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export {};
@@ -16,7 +16,7 @@ export declare class testPlatformService {
16
16
  isMac: boolean;
17
17
  isLinux: boolean;
18
18
  }
19
- export declare function clipboardTestBed(workbookConfig?: IWorkbookData, dependencies?: Dependency[]): {
19
+ export declare function clipboardTestBed(workbookData?: IWorkbookData, dependencies?: Dependency[]): {
20
20
  univer: Univer;
21
21
  get: {
22
22
  <T>(id: import('@wendellhu/redi').DependencyIdentifier<T>, lookUp?: import('@wendellhu/redi').LookUp | undefined): T;
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Copyright 2023-present DreamNum Inc.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export declare const excelSample = "<html xmlns:v=\"urn:schemas-microsoft-com:vml\"\r\nxmlns:o=\"urn:schemas-microsoft-com:office:office\"\r\nxmlns:x=\"urn:schemas-microsoft-com:office:excel\"\r\nxmlns=\"http://www.w3.org/TR/REC-html40\">\r\n\r\n<head>\r\n<meta http-equiv=Content-Type content=\"text/html; charset=utf-8\">\r\n<meta name=ProgId content=Excel.Sheet>\r\n<meta name=Generator content=\"Microsoft Excel 15\">\r\n<link id=Main-File rel=Main-File\r\nhref=\"file:////Users/yuanbin/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip.htm\">\r\n<link rel=File-List\r\nhref=\"file:////Users/yuanbin/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_filelist.xml\">\r\n<style>\r\n<!--table\r\n\t{mso-displayed-decimal-separator:\"\\.\";\r\n\tmso-displayed-thousand-separator:\"\\,\";}\r\n@page\r\n\t{margin:.75in .7in .75in .7in;\r\n\tmso-header-margin:.3in;\r\n\tmso-footer-margin:.3in;}\r\n.font0\r\n\t{color:black;\r\n\tfont-size:12.0pt;\r\n\tfont-weight:400;\r\n\tfont-style:normal;\r\n\ttext-decoration:none;\r\n\tfont-family:\u7B49\u7EBF;\r\n\tmso-generic-font-family:auto;\r\n\tmso-font-charset:134;}\r\n.font5\r\n\t{color:windowtext;\r\n\tfont-size:9.0pt;\r\n\tfont-weight:400;\r\n\tfont-style:normal;\r\n\ttext-decoration:none;\r\n\tfont-family:\u7B49\u7EBF;\r\n\tmso-generic-font-family:auto;\r\n\tmso-font-charset:134;}\r\n.font6\r\n\t{color:#DAE9F8;\r\n\tfont-size:28.0pt;\r\n\tfont-weight:700;\r\n\tfont-style:italic;\r\n\ttext-decoration:none;\r\n\tfont-family:\u7B49\u7EBF;\r\n\tmso-generic-font-family:auto;\r\n\tmso-font-charset:134;}\r\ntr\r\n\t{mso-height-source:auto;\r\n\tmso-ruby-visibility:none;}\r\ncol\r\n\t{mso-width-source:auto;\r\n\tmso-ruby-visibility:none;}\r\nbr\r\n\t{mso-data-placement:same-cell;}\r\ntd\r\n\t{padding-top:1px;\r\n\tpadding-right:1px;\r\n\tpadding-left:1px;\r\n\tmso-ignore:padding;\r\n\tcolor:black;\r\n\tfont-size:12.0pt;\r\n\tfont-weight:400;\r\n\tfont-style:normal;\r\n\ttext-decoration:none;\r\n\tfont-family:\u7B49\u7EBF;\r\n\tmso-generic-font-family:auto;\r\n\tmso-font-charset:134;\r\n\tmso-number-format:General;\r\n\ttext-align:general;\r\n\tvertical-align:middle;\r\n\tborder:none;\r\n\tmso-background-source:auto;\r\n\tmso-pattern:auto;\r\n\tmso-protection:locked visible;\r\n\twhite-space:nowrap;\r\n\tmso-rotate:0;}\r\n.xl65\r\n\t{font-weight:700;\r\n\tfont-style:italic;}\r\n.xl66\r\n\t{text-align:center;\r\n\tborder-top:.5pt solid windowtext;\r\n\tborder-right:none;\r\n\tborder-bottom:.5pt solid windowtext;\r\n\tborder-left:.5pt solid windowtext;}\r\n.xl67\r\n\t{text-align:center;\r\n\tborder-top:.5pt solid windowtext;\r\n\tborder-right:.5pt solid windowtext;\r\n\tborder-bottom:.5pt solid windowtext;\r\n\tborder-left:none;}\r\n.xl68\r\n\t{text-align:center;\r\n\tborder-top:.5pt solid windowtext;\r\n\tborder-right:none;\r\n\tborder-bottom:none;\r\n\tborder-left:.5pt solid windowtext;}\r\n.xl69\r\n\t{text-align:center;\r\n\tborder-top:.5pt solid windowtext;\r\n\tborder-right:.5pt solid windowtext;\r\n\tborder-bottom:none;\r\n\tborder-left:none;}\r\n.xl70\r\n\t{text-align:center;\r\n\tborder-top:none;\r\n\tborder-right:none;\r\n\tborder-bottom:.5pt solid windowtext;\r\n\tborder-left:.5pt solid windowtext;}\r\n.xl71\r\n\t{text-align:center;\r\n\tborder-top:none;\r\n\tborder-right:.5pt solid windowtext;\r\n\tborder-bottom:.5pt solid windowtext;\r\n\tborder-left:none;}\r\n.xl72\r\n\t{mso-number-format:\"Short Date\";}\r\n.xl73\r\n\t{background:#0F9ED5;\r\n\tmso-pattern:black none;}\r\n.xl74\r\n\t{text-align:center;\r\n\tborder-top:.5pt solid windowtext;\r\n\tborder-right:.5pt solid windowtext;\r\n\tborder-bottom:none;\r\n\tborder-left:.5pt solid windowtext;\r\n\tbackground:#0F9ED5;\r\n\tmso-pattern:black none;}\r\n.xl75\r\n\t{text-align:center;\r\n\tborder-top:none;\r\n\tborder-right:.5pt solid windowtext;\r\n\tborder-bottom:none;\r\n\tborder-left:.5pt solid windowtext;\r\n\tbackground:#0F9ED5;\r\n\tmso-pattern:black none;}\r\n.xl76\r\n\t{text-align:center;\r\n\tborder-top:none;\r\n\tborder-right:.5pt solid windowtext;\r\n\tborder-bottom:.5pt solid windowtext;\r\n\tborder-left:.5pt solid windowtext;\r\n\tbackground:#0F9ED5;\r\n\tmso-pattern:black none;}\r\nruby\r\n\t{ruby-align:left;}\r\nrt\r\n\t{color:windowtext;\r\n\tfont-size:9.0pt;\r\n\tfont-weight:400;\r\n\tfont-style:normal;\r\n\ttext-decoration:none;\r\n\tfont-family:\u7B49\u7EBF;\r\n\tmso-generic-font-family:auto;\r\n\tmso-font-charset:134;\r\n\tmso-char-type:none;\r\n\tdisplay:none;}\r\n-->\r\n</style>\r\n</head>\r\n\r\n<div style='max-height:42px'></div>\r\n\r\n<body link=\"#467886\" vlink=\"#96607D\">\r\n\r\n<table border=0 cellpadding=0 cellspacing=0 width=354 style='border-collapse:\r\n collapse;width:265pt'>\r\n<!--StartFragment-->\r\n <col width=87 style='width:65pt'>\r\n <col width=93 style='mso-width-source:userset;mso-width-alt:2986;width:70pt'>\r\n <col width=87 span=2 style='width:65pt'>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 width=87 style='height:16.0pt;width:65pt'></td>\r\n <td width=93 style='width:70pt'></td>\r\n <td width=87 style='width:65pt'></td>\r\n <td width=87 style='width:65pt'></td>\r\n </tr>\r\n <div style='max-height:84px'></div>\r\n <tr height=47 style='height:35.0pt'>\r\n <td height=47 style='height:35.0pt'></td>\r\n <td class=xl65>Univer</td>\r\n <td class=xl73>U<font class=\"font6\">niv</font><font class=\"font0\">er</font></td>\r\n <td></td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 style='height:16.0pt'></td>\r\n <td></td>\r\n <td></td>\r\n <td></td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 style='height:16.0pt'></td>\r\n <td colspan=2 class=xl66 style='border-right:.5pt solid black'>Univer</td>\r\n <td></td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 style='height:16.0pt'></td>\r\n <td></td>\r\n <td></td>\r\n <td></td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 style='height:16.0pt'></td>\r\n <td colspan=2 rowspan=2 class=xl68 style='border-right:.5pt solid black;\r\n border-bottom:.5pt solid black'>Univer</td>\r\n <td></td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 style='height:16.0pt' data-sheets-value=\"{&quot;1&quot;:3,&quot;3&quot;:45607}\"\r\n data-sheets-numberformat=\"{&quot;1&quot;:5,&quot;2&quot;:&quot;yyyy/m/d&quot;,&quot;3&quot;:1}\"></td>\r\n <td></td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 style='height:16.0pt'></td>\r\n <td></td>\r\n <td></td>\r\n <td></td>\r\n </tr>\r\n <tr height=35 style='height:26.0pt'>\r\n <td height=35 style='height:26.0pt'></td>\r\n <td rowspan=5 class=xl74 style='border-bottom:.5pt solid black'>Univer</td>\r\n <td></td>\r\n <td></td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 style='height:16.0pt'></td>\r\n <td></td>\r\n <td></td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 style='height:16.0pt'></td>\r\n <td></td>\r\n <td></td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 style='height:16.0pt'></td>\r\n <td></td>\r\n <td></td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 style='height:16.0pt'></td>\r\n <td></td>\r\n <td></td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 style='height:16.0pt'></td>\r\n <td></td>\r\n <td></td>\r\n <td></td>\r\n </tr>\r\n <tr height=31 style='height:23.0pt'>\r\n <td height=31 style='height:23.0pt' data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;univer&quot;}\"\r\n data-sheets-textstyleruns=\"{&quot;1&quot;:0}\uEE10{&quot;1&quot;:1,&quot;2&quot;:{&quot;2&quot;:{&quot;1&quot;:2,&quot;2&quot;:14275305},&quot;4&quot;:18,&quot;5&quot;:1,&quot;6&quot;:1}}\uEE10{&quot;1&quot;:4}\"></td>\r\n <td class=xl72 align=right>2024/11/11</td>\r\n <td></td>\r\n <td></td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 style='height:16.0pt'></td>\r\n <td></td>\r\n <td></td>\r\n <td></td>\r\n </tr>\r\n<!--EndFragment-->\r\n</table>\r\n\r\n</body>\r\n\r\n</html>\r\n";
17
+ export declare const googleSample = "<google-sheets-html-origin><style type=\"text/css\"><!--td {border: 1px solid #cccccc;}br {mso-data-placement:same-cell;}--></style><table xmlns=\"http://www.w3.org/1999/xhtml\" cellspacing=\"0\" cellpadding=\"0\" dir=\"ltr\" border=\"1\" style=\"table-layout:fixed;font-size:10pt;font-family:Arial;width:0px;border-collapse:collapse;border:none\" data-sheets-root=\"1\"><colgroup><col width=\"100\"/><col width=\"100\"/><col width=\"100\"/><col width=\"100\"/></colgroup><tbody><tr style=\"height:21px;\"><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr><tr style=\"height:21px;\"><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;font-weight:bold;font-style:italic;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Univer&quot;}\">Univer</td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;background-color:#ff0000;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;univer&quot;}\" data-sheets-textstyleruns=\"{&quot;1&quot;:0}\uEE10{&quot;1&quot;:1,&quot;2&quot;:{&quot;2&quot;:{&quot;1&quot;:2,&quot;2&quot;:14275305},&quot;4&quot;:18,&quot;5&quot;:1,&quot;6&quot;:1}}\uEE10{&quot;1&quot;:4}\"><span style=\"font-size:10pt;font-family:Arial;font-style:normal;\">u</span><span style=\"font-size:18pt;font-family:Arial;font-weight:bold;font-style:italic;color:#d9d2e9;\">niv</span><span style=\"font-size:10pt;font-family:Arial;font-style:normal;\">er</span></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr><tr style=\"height:21px;\"><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"border-bottom:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"border-bottom:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr><tr style=\"height:21px;\"><td style=\"border-right:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"border-right:1px solid #000000;border-bottom:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;text-align:center;\" rowspan=\"1\" colspan=\"2\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;univer&quot;}\">univer</td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr><tr style=\"height:21px;\"><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"border-bottom:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"border-bottom:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr><tr style=\"height:21px;\"><td style=\"border-right:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"border-right:1px solid #000000;border-bottom:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;text-align:center;\" rowspan=\"2\" colspan=\"2\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;univer&quot;}\"><span><div style=\"max-height:42px\">univer</div></span></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr><tr style=\"height:21px;\"><td style=\"border-right:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr><tr style=\"height:21px;\"><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"border-bottom:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr><tr style=\"height:21px;\"><td style=\"border-right:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"border-right:1px solid #000000;border-bottom:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:middle;background-color:#ff0000;text-align:center;\" rowspan=\"4\" colspan=\"1\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;univer&quot;}\"><span><div style=\"max-height:84px\">univer</div></span></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr><tr style=\"height:21px;\"><td style=\"border-right:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr><tr style=\"height:21px;\"><td style=\"border-right:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr><tr style=\"height:21px;\"><td style=\"border-right:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr><tr style=\"height:21px;\"><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr><tr style=\"height:21px;\"><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;text-align:right;\" data-sheets-value=\"{&quot;1&quot;:3,&quot;3&quot;:45607}\" data-sheets-numberformat=\"{&quot;1&quot;:5,&quot;2&quot;:&quot;yyyy/m/d&quot;,&quot;3&quot;:1}\">2024/11/11</td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr><tr style=\"height:21px;\"><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr></tbody></table>";
18
+ export declare const fontSampleByExcel = "<html xmlns:v=\"urn:schemas-microsoft-com:vml\"\r\nxmlns:o=\"urn:schemas-microsoft-com:office:office\"\r\nxmlns:x=\"urn:schemas-microsoft-com:office:excel\"\r\nxmlns=\"http://www.w3.org/TR/REC-html40\">\r\n\r\n<head>\r\n<meta http-equiv=Content-Type content=\"text/html; charset=utf-8\">\r\n<meta name=ProgId content=Excel.Sheet>\r\n<meta name=Generator content=\"Microsoft Excel 15\">\r\n<link id=Main-File rel=Main-File\r\nhref=\"file:////Users/yuanbin/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip.htm\">\r\n<link rel=File-List\r\nhref=\"file:////Users/yuanbin/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_filelist.xml\">\r\n<style>\r\n<!--table\r\n\t{mso-displayed-decimal-separator:\"\\.\";\r\n\tmso-displayed-thousand-separator:\"\\,\";}\r\n@page\r\n\t{margin:.75in .7in .75in .7in;\r\n\tmso-header-margin:.3in;\r\n\tmso-footer-margin:.3in;}\r\n.font5\r\n\t{color:windowtext;\r\n\tfont-size:9.0pt;\r\n\tfont-weight:400;\r\n\tfont-style:normal;\r\n\ttext-decoration:none;\r\n\tfont-family:\u7B49\u7EBF;\r\n\tmso-generic-font-family:auto;\r\n\tmso-font-charset:134;}\r\ntr\r\n\t{mso-height-source:auto;\r\n\tmso-ruby-visibility:none;}\r\ncol\r\n\t{mso-width-source:auto;\r\n\tmso-ruby-visibility:none;}\r\nbr\r\n\t{mso-data-placement:same-cell;}\r\ntd\r\n\t{padding-top:1px;\r\n\tpadding-right:1px;\r\n\tpadding-left:1px;\r\n\tmso-ignore:padding;\r\n\tcolor:black;\r\n\tfont-size:12.0pt;\r\n\tfont-weight:400;\r\n\tfont-style:normal;\r\n\ttext-decoration:none;\r\n\tfont-family:\u7B49\u7EBF;\r\n\tmso-generic-font-family:auto;\r\n\tmso-font-charset:134;\r\n\tmso-number-format:General;\r\n\ttext-align:general;\r\n\tvertical-align:middle;\r\n\tborder:none;\r\n\tmso-background-source:auto;\r\n\tmso-pattern:auto;\r\n\tmso-protection:locked visible;\r\n\twhite-space:nowrap;\r\n\tmso-rotate:0;}\r\n.xl65\r\n\t{font-size:18.0pt;}\r\n.xl66\r\n\t{text-decoration:underline;\r\n\ttext-underline-style:single;}\r\n.xl67\r\n\t{font-weight:700;}\r\n.xl68\r\n\t{font-style:italic;}\r\n.xl70\r\n\t{font-weight:700;\r\n\tfont-style:italic;\r\n\ttext-decoration:underline;\r\n\ttext-underline-style:single;}\r\n.xl71\r\n\t{color:yellow;}\r\n.xl72\r\n\t{font-family:\u4EFF\u5B8B;\r\n\tmso-generic-font-family:auto;\r\n\tmso-font-charset:134;}\r\n.xl73\r\n\t{background:yellow;\r\n\tmso-pattern:black none;}\r\nruby\r\n\t{ruby-align:left;}\r\nrt\r\n\t{color:windowtext;\r\n\tfont-size:9.0pt;\r\n\tfont-weight:400;\r\n\tfont-style:normal;\r\n\ttext-decoration:none;\r\n\tfont-family:\u7B49\u7EBF;\r\n\tmso-generic-font-family:auto;\r\n\tmso-font-charset:134;\r\n\tmso-char-type:none;\r\n\tdisplay:none;}\r\n-->\r\n</style>\r\n</head>\r\n\r\n<body link=\"#0563C1\" vlink=\"#954F72\">\r\n\r\n<table border=0 cellpadding=0 cellspacing=0 width=129 style='border-collapse:\r\n collapse;width:97pt'>\r\n<!--StartFragment-->\r\n <col width=129 style='mso-width-source:userset;mso-width-alt:4138;width:97pt'>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 class=xl67 width=129 style='height:16.0pt;width:97pt'>B</td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 class=xl68 style='height:16.0pt'>I</td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 class=xl66 style='height:16.0pt'>U</td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 class=xl69 style='height:16.0pt'><s>S</s></td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 class=xl70 style='height:16.0pt'><s>BOTH</s></td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 style='height:16.0pt'>font-size:12</td>\r\n </tr>\r\n <tr height=31 style='height:23.0pt'>\r\n <td height=31 class=xl65 style='height:23.0pt'>font-size:18</td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 class=xl71 style='height:16.0pt'>color</td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 class=xl73 style='height:16.0pt'>background</td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 class=xl72 style='height:16.0pt'>font-family</td>\r\n </tr>\r\n<!--EndFragment-->\r\n</table>\r\n\r\n</body>\r\n\r\n</html>\r\n";
19
+ export declare const fontSampleByGoogle = "<google-sheets-html-origin><style type=\"text/css\"><!--td {border: 1px solid #cccccc;}br {mso-data-placement:same-cell;}--></style><table xmlns=\"http://www.w3.org/1999/xhtml\" cellspacing=\"0\" cellpadding=\"0\" dir=\"ltr\" border=\"1\" style=\"table-layout:fixed;font-size:10pt;font-family:Arial;width:0px;border-collapse:collapse;border:none\" data-sheets-root=\"1\"><colgroup><col width=\"100\"/></colgroup><tbody><tr style=\"height:21px;\"><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;font-weight:bold;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;B&quot;}\">B</td></tr><tr style=\"height:21px;\"><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;font-style:italic;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;I&quot;}\">I</td></tr><tr style=\"height:21px;\"><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;font-family:Arial;font-weight:normal;text-decoration:underline;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;U&quot;}\">U</td></tr><tr style=\"height:21px;\"><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;text-decoration:line-through;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;S&quot;}\">S</td></tr><tr style=\"height:21px;\"><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;font-size:12pt;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;font-size:12&quot;}\">font-size:12</td></tr><tr style=\"height:21px;\"><td style=\"border-right:1px solid transparent;overflow:visible;padding:2px 0px 2px 0px;vertical-align:bottom;font-size:18pt;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;font-size:18&quot;}\"><div style=\"white-space:nowrap;overflow:hidden;position:relative;width:196px;left:3px;\"><div style=\"float:left;\">font-size:18</div></div></td></tr><tr style=\"height:21px;\"><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;color:#ffff00;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;color&quot;}\">color</td></tr><tr style=\"height:21px;\"><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;background-color:#ffff00;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;background&quot;}\">background</td></tr><tr style=\"height:21px;\"><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;font-family:Hei;font-weight:normal;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;font-family&quot;}\">font-family</td></tr></tbody></table>";
20
+ export declare const fontSampleByUniver = "<html><head></head><body><google data-copy-id=\"ZLzDRp\" -sheets-html-origin=\"\"><table xmlns=\"http://www.w3.org/1999/xhtml\" cellspacing=\"0\" cellpadding=\"0\" dir=\"ltr\" style=\"table-layout:fixed;font-size:10pt;font-family:Arial;width:0px;border-collapse:collapse;border:none\"><colgroup><col width=\"73\"></colgroup>\n<tbody><tr style=\"height: 19px;\"><td style=\"font-weight: bold; \">B</td></tr><tr style=\"height: 19px;\"><td style=\"font-style: italic; \">I</td></tr><tr style=\"height: 19px;\"><td style=\"text-decoration-line: underline; \">U</td></tr><tr style=\"height: 19px;\"><td style=\"text-decoration-line: line-through; \">S</td></tr><tr style=\"height: 19px;\"><td style=\"font-size: 12pt; \">font-size:12</td></tr><tr style=\"height: 29px;\"><td style=\"font-size: 18pt; \">font-size:18</td></tr><tr style=\"height: 19px;\"><td style=\"color: #ffff00; \">color</td></tr><tr style=\"height: 19px;\"><td style=\"background: #ffff00; \">background</td></tr><tr style=\"height: 19px;\"><td style=\"font-family: SimSun; \">font-family</td></tr></tbody></table></google></body></html>";
21
+ export declare const borderSampleByExcel = "<html xmlns:v=\"urn:schemas-microsoft-com:vml\"\r\nxmlns:o=\"urn:schemas-microsoft-com:office:office\"\r\nxmlns:x=\"urn:schemas-microsoft-com:office:excel\"\r\nxmlns=\"http://www.w3.org/TR/REC-html40\">\r\n\r\n<head>\r\n<meta http-equiv=Content-Type content=\"text/html; charset=utf-8\">\r\n<meta name=ProgId content=Excel.Sheet>\r\n<meta name=Generator content=\"Microsoft Excel 15\">\r\n<link id=Main-File rel=Main-File\r\nhref=\"file:////Users/yuanbin/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip.htm\">\r\n<link rel=File-List\r\nhref=\"file:////Users/yuanbin/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_filelist.xml\">\r\n<style>\r\n<!--table\r\n\t{mso-displayed-decimal-separator:\"\\.\";\r\n\tmso-displayed-thousand-separator:\"\\,\";}\r\n@page\r\n\t{margin:.75in .7in .75in .7in;\r\n\tmso-header-margin:.3in;\r\n\tmso-footer-margin:.3in;}\r\ntr\r\n\t{mso-height-source:auto;\r\n\tmso-ruby-visibility:none;}\r\ncol\r\n\t{mso-width-source:auto;\r\n\tmso-ruby-visibility:none;}\r\nbr\r\n\t{mso-data-placement:same-cell;}\r\ntd\r\n\t{padding-top:1px;\r\n\tpadding-right:1px;\r\n\tpadding-left:1px;\r\n\tmso-ignore:padding;\r\n\tcolor:black;\r\n\tfont-size:12.0pt;\r\n\tfont-weight:400;\r\n\tfont-style:normal;\r\n\ttext-decoration:none;\r\n\tfont-family:\u7B49\u7EBF;\r\n\tmso-generic-font-family:auto;\r\n\tmso-font-charset:134;\r\n\tmso-number-format:General;\r\n\ttext-align:general;\r\n\tvertical-align:middle;\r\n\tborder:none;\r\n\tmso-background-source:auto;\r\n\tmso-pattern:auto;\r\n\tmso-protection:locked visible;\r\n\twhite-space:nowrap;\r\n\tmso-rotate:0;}\r\n.xl65\r\n\t{border:.5pt solid black;}\r\n.xl66\r\n\t{text-align:center;\r\n\tborder:.5pt solid black;}\r\nruby\r\n\t{ruby-align:left;}\r\nrt\r\n\t{color:windowtext;\r\n\tfont-size:9.0pt;\r\n\tfont-weight:400;\r\n\tfont-style:normal;\r\n\ttext-decoration:none;\r\n\tfont-family:\u7B49\u7EBF;\r\n\tmso-generic-font-family:auto;\r\n\tmso-font-charset:134;\r\n\tmso-char-type:none;\r\n\tdisplay:none;}\r\n-->\r\n</style>\r\n</head>\r\n\r\n<body link=\"#0563C1\" vlink=\"#954F72\">\r\n\r\n<table border=0 cellpadding=0 cellspacing=0 width=348 style='border-collapse:\r\n collapse;width:260pt'>\r\n<!--StartFragment-->\r\n <col width=87 span=4 style='width:65pt'>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 width=87 style='height:16.0pt;width:65pt'></td>\r\n <td width=87 style='width:65pt'></td>\r\n <td width=87 style='width:65pt'></td>\r\n <td width=87 style='width:65pt'></td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 style='height:16.0pt'></td>\r\n <td class=xl65>\u3000</td>\r\n <td class=xl65 style='border-left:none'>\u3000</td>\r\n <td></td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 style='height:16.0pt'></td>\r\n <td class=xl65 style='border-top:none'>\u3000</td>\r\n <td class=xl65 style='border-top:none;border-left:none'>\u3000</td>\r\n <td></td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 style='height:16.0pt'></td>\r\n <td class=xl65 style='border-top:none'>\u3000</td>\r\n <td class=xl65 style='border-top:none;border-left:none'>\u3000</td>\r\n <td></td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 style='height:16.0pt'></td>\r\n <td class=xl65 style='border-top:none'>\u3000</td>\r\n <td class=xl65 style='border-top:none;border-left:none'>\u3000</td>\r\n <td></td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 style='height:16.0pt'></td>\r\n <td class=xl65 style='border-top:none'>\u3000</td>\r\n <td class=xl65 style='border-top:none;border-left:none'>\u3000</td>\r\n <td></td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 style='height:16.0pt'></td>\r\n <td></td>\r\n <td></td>\r\n <td></td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 style='height:16.0pt'></td>\r\n <td></td>\r\n <td></td>\r\n <td></td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 style='height:16.0pt'></td>\r\n <td colspan=2 rowspan=5 class=xl66>\u3000</td>\r\n <td></td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 style='height:16.0pt'></td>\r\n <td></td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 style='height:16.0pt'></td>\r\n <td></td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 style='height:16.0pt'></td>\r\n <td></td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 style='height:16.0pt'></td>\r\n <td></td>\r\n </tr>\r\n <tr height=21 style='height:16.0pt'>\r\n <td height=21 style='height:16.0pt'></td>\r\n <td></td>\r\n <td></td>\r\n <td></td>\r\n </tr>\r\n<!--EndFragment-->\r\n</table>\r\n\r\n</body>\r\n\r\n</html>\r\n";
22
+ export declare const borderSampleByGoogle = "<google-sheets-html-origin><style type=\"text/css\"><!--td {border: 1px solid #cccccc;}br {mso-data-placement:same-cell;}--></style><table xmlns=\"http://www.w3.org/1999/xhtml\" cellspacing=\"0\" cellpadding=\"0\" dir=\"ltr\" border=\"1\" style=\"table-layout:fixed;font-size:10pt;font-family:Arial;width:0px;border-collapse:collapse;border:none\" data-sheets-root=\"1\"><colgroup><col width=\"100\"/><col width=\"100\"/><col width=\"100\"/><col width=\"100\"/></colgroup><tbody><tr style=\"height:21px;\"><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"border-bottom:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"border-bottom:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr><tr style=\"height:21px;\"><td style=\"border-right:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"border-right:1px solid #000000;border-bottom:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"border-right:1px solid #000000;border-bottom:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr><tr style=\"height:21px;\"><td style=\"border-right:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"border-right:1px solid #000000;border-bottom:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"border-right:1px solid #000000;border-bottom:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr><tr style=\"height:21px;\"><td style=\"border-right:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"border-right:1px solid #000000;border-bottom:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"border-right:1px solid #000000;border-bottom:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr><tr style=\"height:21px;\"><td style=\"border-right:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"border-right:1px solid #000000;border-bottom:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"border-right:1px solid #000000;border-bottom:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr><tr style=\"height:21px;\"><td style=\"border-right:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"border-right:1px solid #000000;border-bottom:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"border-right:1px solid #000000;border-bottom:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr><tr style=\"height:21px;\"><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr><tr style=\"height:21px;\"><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"border-bottom:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"border-bottom:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr><tr style=\"height:21px;\"><td style=\"border-right:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"border-right:1px solid #000000;border-bottom:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\" rowspan=\"5\" colspan=\"2\"><span><div style=\"max-height:105px\"></div></span></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr><tr style=\"height:21px;\"><td style=\"border-right:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr><tr style=\"height:21px;\"><td style=\"border-right:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr><tr style=\"height:21px;\"><td style=\"border-right:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr><tr style=\"height:21px;\"><td style=\"border-right:1px solid #000000;overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr><tr style=\"height:21px;\"><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;\"></td></tr></tbody></table>";
23
+ export declare const borderSampleByUniver = "<html><head></head><body><google data-copy-id=\"PgwMK9\" -sheets-html-origin=\"\"><table xmlns=\"http://www.w3.org/1999/xhtml\" cellspacing=\"0\" cellpadding=\"0\" dir=\"ltr\" style=\"table-layout:fixed;font-size:10pt;font-family:Arial;width:0px;border-collapse:collapse;border:none\"><colgroup><col width=\"73\"><col width=\"73\"><col width=\"73\"><col width=\"73\"></colgroup>\n<tbody><tr style=\"height: 19px;\"><td></td><td></td><td></td><td></td></tr><tr style=\"height: 19px;\"><td></td><td style=\"border-bottom: 0.5pt solid #000000; border-top: 0.5pt solid #000000; border-right: 0.5pt solid #000000; border-left: 0.5pt solid #000000; \"></td><td style=\"border-bottom: 0.5pt solid #000000; border-top: 0.5pt solid #000000; border-right: 0.5pt solid #000000; border-left: 0.5pt solid #000000; \"></td><td></td></tr><tr style=\"height: 19px;\"><td></td><td style=\"border-bottom: 0.5pt solid #000000; border-top: 0.5pt solid #000000; border-right: 0.5pt solid #000000; border-left: 0.5pt solid #000000; \"></td><td style=\"border-bottom: 0.5pt solid #000000; border-top: 0.5pt solid #000000; border-right: 0.5pt solid #000000; border-left: 0.5pt solid #000000; \"></td><td></td></tr><tr style=\"height: 19px;\"><td></td><td style=\"border-bottom: 0.5pt solid #000000; border-top: 0.5pt solid #000000; border-right: 0.5pt solid #000000; border-left: 0.5pt solid #000000; \"></td><td style=\"border-bottom: 0.5pt solid #000000; border-top: 0.5pt solid #000000; border-right: 0.5pt solid #000000; border-left: 0.5pt solid #000000; \"></td><td></td></tr><tr style=\"height: 19px;\"><td></td><td style=\"border-bottom: 0.5pt solid #000000; border-top: 0.5pt solid #000000; border-right: 0.5pt solid #000000; border-left: 0.5pt solid #000000; \"></td><td style=\"border-bottom: 0.5pt solid #000000; border-top: 0.5pt solid #000000; border-right: 0.5pt solid #000000; border-left: 0.5pt solid #000000; \"></td><td></td></tr><tr style=\"height: 19px;\"><td></td><td style=\"border-bottom: 0.5pt solid #000000; border-top: 0.5pt solid #000000; border-right: 0.5pt solid #000000; border-left: 0.5pt solid #000000; \"></td><td style=\"border-bottom: 0.5pt solid #000000; border-top: 0.5pt solid #000000; border-right: 0.5pt solid #000000; border-left: 0.5pt solid #000000; \"></td><td></td></tr><tr style=\"height: 19px;\"><td></td><td></td><td></td><td></td></tr><tr style=\"height: 19px;\"><td></td><td></td><td></td><td></td></tr><tr style=\"height: 19px;\"><td></td><td rowspan=\"5\" colspan=\"2\" style=\"border-top: 0.5pt solid #000000; border-left: 0.5pt solid #000000; ;border-bottom: 0.5pt solid #000000; border-right: 0.5pt solid #000000; \"></td><td></td></tr><tr style=\"height: 19px;\"><td></td><td></td></tr><tr style=\"height: 19px;\"><td></td><td></td></tr><tr style=\"height: 19px;\"><td></td><td></td></tr><tr style=\"height: 19px;\"><td></td><td></td></tr><tr style=\"height: 19px;\"><td></td><td></td><td></td><td></td></tr></tbody></table></google></body></html>";
24
+ export declare const rotateSampleByUniver = "<html><head></head><body><google data-copy-id=\"1rz7ZZ\" -sheets-html-origin=\"\"><table xmlns=\"http://www.w3.org/1999/xhtml\" cellspacing=\"0\" cellpadding=\"0\" dir=\"ltr\" style=\"table-layout:fixed;font-size:10pt;font-family:Arial;width:0px;border-collapse:collapse;border:none\"><colgroup><col width=\"73\"></colgroup>\n<tbody><tr style=\"height: 19px;\"><td>univer</td></tr><tr style=\"height: 46.67004020088826px;\"><td style=\"data-rotate: (-45deg);\">univer</td></tr><tr style=\"height: 46.67004020088826px;\"><td style=\"data-rotate: (45deg);\">univer</td></tr><tr style=\"height: 48.00140380859375px;\"><td style=\"data-rotate: (0deg ,1);\">univer</td></tr><tr style=\"height: 48.00140380859375px;\"><td style=\"data-rotate: (-90deg);\">univer</td></tr><tr style=\"height: 48.00140380859375px;\"><td style=\"data-rotate: (90deg);\">univer</td></tr></tbody></table></google></body></html>";
25
+ export declare const alignmentSampleByExcel = "<html xmlns:v=\"urn:schemas-microsoft-com:vml\"\r\nxmlns:o=\"urn:schemas-microsoft-com:office:office\"\r\nxmlns:x=\"urn:schemas-microsoft-com:office:excel\"\r\nxmlns=\"http://www.w3.org/TR/REC-html40\">\r\n\r\n<head>\r\n<meta http-equiv=Content-Type content=\"text/html; charset=utf-8\">\r\n<meta name=ProgId content=Excel.Sheet>\r\n<meta name=Generator content=\"Microsoft Excel 15\">\r\n<link id=Main-File rel=Main-File\r\nhref=\"file:////Users/yuanbin/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip.htm\">\r\n<link rel=File-List\r\nhref=\"file:////Users/yuanbin/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_filelist.xml\">\r\n<style>\r\n<!--table\r\n\t{mso-displayed-decimal-separator:\"\\.\";\r\n\tmso-displayed-thousand-separator:\"\\,\";}\r\n@page\r\n\t{margin:.75in .7in .75in .7in;\r\n\tmso-header-margin:.3in;\r\n\tmso-footer-margin:.3in;}\r\ntr\r\n\t{mso-height-source:auto;\r\n\tmso-ruby-visibility:none;}\r\ncol\r\n\t{mso-width-source:auto;\r\n\tmso-ruby-visibility:none;}\r\nbr\r\n\t{mso-data-placement:same-cell;}\r\ntd\r\n\t{padding-top:1px;\r\n\tpadding-right:1px;\r\n\tpadding-left:1px;\r\n\tmso-ignore:padding;\r\n\tcolor:black;\r\n\tfont-size:12.0pt;\r\n\tfont-weight:400;\r\n\tfont-style:normal;\r\n\ttext-decoration:none;\r\n\tfont-family:\u7B49\u7EBF;\r\n\tmso-generic-font-family:auto;\r\n\tmso-font-charset:134;\r\n\tmso-number-format:General;\r\n\ttext-align:general;\r\n\tvertical-align:middle;\r\n\tborder:none;\r\n\tmso-background-source:auto;\r\n\tmso-pattern:auto;\r\n\tmso-protection:locked visible;\r\n\twhite-space:nowrap;\r\n\tmso-rotate:0;}\r\n.xl65\r\n\t{text-align:left;\r\n\tvertical-align:bottom;}\r\n.xl66\r\n\t{text-align:right;\r\n\tvertical-align:bottom;}\r\n.xl67\r\n\t{text-align:center;\r\n\tvertical-align:bottom;}\r\n.xl68\r\n\t{vertical-align:top;}\r\n.xl69\r\n\t{color:#44546A;\r\n\tfont-size:11.0pt;\r\n\tfont-weight:700;}\r\n.xl70\r\n\t{vertical-align:bottom;}\r\nruby\r\n\t{ruby-align:left;}\r\nrt\r\n\t{color:windowtext;\r\n\tfont-size:9.0pt;\r\n\tfont-weight:400;\r\n\tfont-style:normal;\r\n\ttext-decoration:none;\r\n\tfont-family:\u7B49\u7EBF;\r\n\tmso-generic-font-family:auto;\r\n\tmso-font-charset:134;\r\n\tmso-char-type:none;\r\n\tdisplay:none;}\r\n-->\r\n</style>\r\n</head>\r\n\r\n<body link=\"#0563C1\" vlink=\"#954F72\">\r\n\r\n<table border=0 cellpadding=0 cellspacing=0 width=522 style='border-collapse:\r\n collapse;width:390pt'>\r\n <col width=87 span=6 style='width:65pt'>\r\n <tr height=88 style='mso-height-source:userset;height:66.0pt'>\r\n<!--StartFragment-->\r\n <td height=88 class=xl65 width=87 style='height:66.0pt;width:65pt'>\u5DE6\u5BF9\u9F50</td>\r\n <td class=xl66 width=87 style='width:65pt'>\u53F3\u5BF9\u9F50</td>\r\n <td class=xl67 width=87 style='width:65pt'>\u4E2D\u95F4\u5BF9\u9F50</td>\r\n <td class=xl68 width=87 style='width:65pt'>\u9876\u90E8</td>\r\n <td class=xl70 width=87 style='width:65pt'>\u5E95\u90E8\u5BF9\u9F50</td>\r\n <td class=xl69 width=87 style='width:65pt'>\u5C45\u4E2D\u5BF9\u9F50</td>\r\n<!--EndFragment-->\r\n </tr>\r\n</table>\r\n\r\n</body>\r\n\r\n</html>\r\n";
26
+ export declare const alignmentSampleByGoogle = "<google-sheets-html-origin><style type=\"text/css\"><!--td {border: 1px solid #cccccc;}br {mso-data-placement:same-cell;}--></style><table xmlns=\"http://www.w3.org/1999/xhtml\" cellspacing=\"0\" cellpadding=\"0\" dir=\"ltr\" border=\"1\" style=\"table-layout:fixed;font-size:10pt;font-family:Arial;width:0px;border-collapse:collapse;border:none\" data-sheets-root=\"1\"><colgroup><col width=\"100\"/><col width=\"100\"/><col width=\"100\"/><col width=\"100\"/><col width=\"100\"/><col width=\"100\"/></colgroup><tbody><tr style=\"height:65px;\"><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;font-family:Arial;font-size:12pt;font-weight:normal;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;\u5DE6\u5BF9\u9F50&quot;}\">\u5DE6\u5BF9\u9F50</td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;font-family:Arial;font-size:12pt;font-weight:normal;text-align:right;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;\u53F3\u5BF9\u9F50&quot;}\">\u53F3\u5BF9\u9F50</td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;font-family:Arial;font-size:12pt;font-weight:normal;text-align:center;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;\u4E2D\u95F4\u5BF9\u9F50&quot;}\">\u4E2D\u95F4\u5BF9\u9F50</td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:top;font-family:Arial;font-size:12pt;font-weight:normal;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;\u9876\u90E8&quot;}\">\u9876\u90E8</td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:bottom;font-family:Arial;font-size:12pt;font-weight:normal;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;\u5E95\u90E8\u5BF9\u9F50&quot;}\">\u5E95\u90E8\u5BF9\u9F50</td><td style=\"overflow:hidden;padding:2px 3px 2px 3px;vertical-align:middle;font-family:Arial;font-size:11pt;font-weight:bold;color:#44546a;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;\u5C45\u4E2D\u5BF9\u9F50&quot;}\">\u5C45\u4E2D\u5BF9\u9F50</td></tr></tbody></table>";
27
+ export declare const alignmentSampleByUniver = "<html><head></head><body><google data-copy-id=\"rJhHMI\" -sheets-html-origin=\"\"><table xmlns=\"http://www.w3.org/1999/xhtml\" cellspacing=\"0\" cellpadding=\"0\" dir=\"ltr\" style=\"table-layout:fixed;font-size:10pt;font-family:Arial;width:0px;border-collapse:collapse;border:none\"><colgroup><col width=\"73\"><col width=\"73\"><col width=\"73\"><col width=\"73\"><col width=\"73\"><col width=\"73\"></colgroup>\n<tbody><tr style=\"height: 66px;\"><td style=\"color: rgb(0, 0, 0); font-size: 12pt; text-align: left; vertical-align: bottom; font-family: \u7B49\u7EBF; \">\u5DE6\u5BF9\u9F50</td><td style=\"color: rgb(0, 0, 0); font-size: 12pt; text-align: right; vertical-align: bottom; font-family: \u7B49\u7EBF; \">\u53F3\u5BF9\u9F50</td><td style=\"color: rgb(0, 0, 0); font-size: 12pt; text-align: center; vertical-align: bottom; font-family: \u7B49\u7EBF; \">\u4E2D\u95F4\u5BF9\u9F50</td><td style=\"color: rgb(0, 0, 0); font-size: 12pt; vertical-align: top; font-family: \u7B49\u7EBF; \">\u9876\u90E8</td><td style=\"color: rgb(0, 0, 0); font-size: 12pt; vertical-align: bottom; font-family: \u7B49\u7EBF; \">\u5E95\u90E8\u5BF9\u9F50</td><td style=\"color: rgb(68, 84, 106); font-size: 11pt; vertical-align: middle; font-weight: bold; font-family: \u7B49\u7EBF; \">\u5C45\u4E2D\u5BF9\u9F50</td></tr></tbody></table></google></body></html>";
@@ -2,10 +2,10 @@ import { ISheetClipboardHook, COPY_TYPE } from './type';
2
2
  import { CopyContentCache } from './copy-content-cache';
3
3
  import { SheetSkeletonManagerService } from '../sheet-skeleton-manager.service';
4
4
  import { IMarkSelectionService } from '../mark-selection/mark-selection.service';
5
- import { IDisposable } from '@wendellhu/redi';
5
+ import { IDisposable, Injector } from '@wendellhu/redi';
6
6
  import { IClipboardInterfaceService, INotificationService, IPlatformService } from '@univerjs/ui';
7
7
  import { SelectionManagerService } from '@univerjs/sheets';
8
- import { Disposable, ICommandService, ILogService, IUndoRedoService, IUniverInstanceService, LocaleService } from '@univerjs/core';
8
+ import { Disposable, ErrorService, ICommandService, ILogService, IUndoRedoService, IUniverInstanceService, LocaleService } from '@univerjs/core';
9
9
 
10
10
  export declare const PREDEFINED_HOOK_NAME: {
11
11
  DEFAULT_COPY: string;
@@ -27,7 +27,7 @@ export interface ISheetClipboardService {
27
27
  export declare const ISheetClipboardService: import('@wendellhu/redi').IdentifierDecorator<ISheetClipboardService>;
28
28
  export declare class SheetClipboardService extends Disposable implements ISheetClipboardService {
29
29
  private readonly _logService;
30
- private readonly _currentUniverService;
30
+ private readonly _univerInstanceService;
31
31
  private readonly _selectionManagerService;
32
32
  private readonly _clipboardInterfaceService;
33
33
  private readonly _undoRedoService;
@@ -37,6 +37,8 @@ export declare class SheetClipboardService extends Disposable implements ISheetC
37
37
  private readonly _notificationService;
38
38
  private readonly _platformService;
39
39
  private readonly _localeService;
40
+ private readonly _errorService;
41
+ private readonly _injector;
40
42
  private _clipboardHooks;
41
43
  private readonly _clipboardHooks$;
42
44
  readonly clipboardHooks$: import('rxjs').Observable<ISheetClipboardHook[]>;
@@ -44,7 +46,7 @@ export declare class SheetClipboardService extends Disposable implements ISheetC
44
46
  private _usmToHtml;
45
47
  private _copyContentCache;
46
48
  private _copyMarkId;
47
- constructor(_logService: ILogService, _currentUniverService: IUniverInstanceService, _selectionManagerService: SelectionManagerService, _clipboardInterfaceService: IClipboardInterfaceService, _undoRedoService: IUndoRedoService, _commandService: ICommandService, _markSelectionService: IMarkSelectionService, _sheetSkeletonManagerService: SheetSkeletonManagerService, _notificationService: INotificationService, _platformService: IPlatformService, _localeService: LocaleService);
49
+ constructor(_logService: ILogService, _univerInstanceService: IUniverInstanceService, _selectionManagerService: SelectionManagerService, _clipboardInterfaceService: IClipboardInterfaceService, _undoRedoService: IUndoRedoService, _commandService: ICommandService, _markSelectionService: IMarkSelectionService, _sheetSkeletonManagerService: SheetSkeletonManagerService, _notificationService: INotificationService, _platformService: IPlatformService, _localeService: LocaleService, _errorService: ErrorService, _injector: Injector);
48
50
  copyContentCache(): CopyContentCache;
49
51
  copy(copyType?: COPY_TYPE): Promise<boolean>;
50
52
  cut(): Promise<boolean>;
@@ -104,6 +106,8 @@ export declare class SheetClipboardService extends Disposable implements ISheetC
104
106
  * @param range
105
107
  */
106
108
  private _transformPastedData;
109
+ private _getPastedRange;
110
+ private _expandOrShrinkRowsCols;
107
111
  /**
108
112
  * Determine whether the cells starting from the upper left corner of the range (merged or non-merged or combined) are consistent with the size of the original data
109
113
  * @param cellMatrix
@@ -1,10 +1,11 @@
1
1
  import { COPY_TYPE, ICellDataWithSpanInfo } from './type';
2
- import { IRange, Nullable, ObjectMatrix } from '@univerjs/core';
2
+ import { IDiscreteRange } from '../../controllers/utils/range-tools';
3
+ import { Nullable, ObjectMatrix } from '@univerjs/core';
3
4
 
4
5
  export interface ICopyContentCacheData {
5
6
  subUnitId: string;
6
7
  unitId: string;
7
- range: IRange;
8
+ range: IDiscreteRange;
8
9
  copyType: COPY_TYPE;
9
10
  matrix: Nullable<ObjectMatrix<ICellDataWithSpanInfo>>;
10
11
  }
@@ -1,3 +1,3 @@
1
1
  import { ITextStyle } from '@univerjs/core';
2
2
 
3
- export declare function extractNodeStyle(node: HTMLElement): ITextStyle;
3
+ export declare function extractNodeStyle(node: HTMLElement, predefinedStyles?: CSSStyleDeclaration): ITextStyle;
@@ -1,4 +1,5 @@
1
- import { ICellData, IMutationInfo, IRange, ObjectMatrix } from '@univerjs/core';
1
+ import { IDiscreteRange } from '../../controllers/utils/range-tools';
2
+ import { ICellData, IDocumentData, IMutationInfo, IRange, ObjectMatrix } from '@univerjs/core';
2
3
 
3
4
  export declare enum COPY_TYPE {
4
5
  COPY = "COPY",
@@ -17,13 +18,23 @@ export interface IParsedCellValue {
17
18
  properties?: IClipboardPropertyItem;
18
19
  content: string;
19
20
  }
21
+ export interface IParsedCellValueByClipboard {
22
+ rowSpan?: number;
23
+ colSpan?: number;
24
+ style?: string;
25
+ content?: string;
26
+ richTextParma?: {
27
+ p?: IDocumentData;
28
+ v?: string;
29
+ };
30
+ }
20
31
  export interface IUniverSheetCopyDataModel {
21
32
  rowProperties?: IClipboardPropertyItem[];
22
33
  colProperties?: IClipboardPropertyItem[] | null;
23
34
  cellMatrix: ObjectMatrix<ICellDataWithSpanInfo>;
24
35
  }
25
36
  export interface IPasteTarget {
26
- pastedRange: IRange;
37
+ pastedRange: IDiscreteRange;
27
38
  subUnitId: string;
28
39
  unitId: string;
29
40
  }
@@ -37,6 +48,11 @@ export interface ISheetRangeLocation {
37
48
  subUnitId: string;
38
49
  unitId: string;
39
50
  }
51
+ export interface ISheetDiscreteRangeLocation {
52
+ range: IDiscreteRange;
53
+ subUnitId: string;
54
+ unitId: string;
55
+ }
40
56
  export interface ISpecialPasteInfo {
41
57
  label: string;
42
58
  icon?: string;
@@ -93,25 +109,25 @@ export interface ISheetClipboardHook {
93
109
  *
94
110
  * @returns if it block copying it should return false
95
111
  */
96
- onBeforePaste?(pasteTo: ISheetRangeLocation): boolean;
112
+ onBeforePaste?(pasteTo: ISheetDiscreteRangeLocation): boolean;
97
113
  /**
98
114
  *
99
115
  * @param row
100
116
  * @param col
101
117
  */
102
- onPasteCells?(pasteFrom: ISheetRangeLocation | null, pasteTo: ISheetRangeLocation, data: ObjectMatrix<ICellDataWithSpanInfo>, payload: ICopyPastePayload): {
118
+ onPasteCells?(pasteFrom: ISheetDiscreteRangeLocation | null, pasteTo: ISheetDiscreteRangeLocation, data: ObjectMatrix<ICellDataWithSpanInfo>, payload: ICopyPastePayload): {
103
119
  undos: IMutationInfo[];
104
120
  redos: IMutationInfo[];
105
121
  };
106
- onPasteRows?(pasteTo: ISheetRangeLocation, rowProperties: IClipboardPropertyItem[], payload: ICopyPastePayload): {
122
+ onPasteRows?(pasteTo: ISheetDiscreteRangeLocation, rowProperties: IClipboardPropertyItem[], payload: ICopyPastePayload): {
107
123
  undos: IMutationInfo[];
108
124
  redos: IMutationInfo[];
109
125
  };
110
- onPasteColumns?(pasteTo: ISheetRangeLocation, colProperties: IClipboardPropertyItem[], payload: ICopyPastePayload): {
126
+ onPasteColumns?(pasteTo: ISheetDiscreteRangeLocation, colProperties: IClipboardPropertyItem[], payload: ICopyPastePayload): {
111
127
  undos: IMutationInfo[];
112
128
  redos: IMutationInfo[];
113
129
  };
114
- onPastePlainText?(pasteTo: ISheetRangeLocation, text: string, payload: ICopyPastePayload): {
130
+ onPastePlainText?(pasteTo: ISheetDiscreteRangeLocation, text: string, payload: ICopyPastePayload): {
115
131
  undos: IMutationInfo[];
116
132
  redos: IMutationInfo[];
117
133
  };
@@ -120,5 +136,5 @@ export interface ISheetClipboardHook {
120
136
  * The callback would be called before the clipboard service decides what region need to be copied from or pasted to.
121
137
  * It would jump over these filtered rows when copying or pasting.
122
138
  */
123
- getFilteredOutRows?(): number[];
139
+ getFilteredOutRows?(range: IRange): number[];
124
140
  }
@@ -1,3 +1,4 @@
1
+ import { IDiscreteRange } from '../../controllers/utils/range-tools';
1
2
  import { ISetRangeValuesMutationParams } from '@univerjs/sheets';
2
3
  import { ICellData, IMutationInfo, IObjectMatrixPrimitiveType, IRange, Nullable } from '@univerjs/core';
3
4
 
@@ -17,3 +18,5 @@ export declare function clipboardItemIsFromExcel(html: string): Promise<boolean>
17
18
  export declare function mergeCellValues(...cellValues: IObjectMatrixPrimitiveType<Nullable<ICellData>>[]): IObjectMatrixPrimitiveType<Nullable<ICellData>> | IObjectMatrixPrimitiveType<IObjectMatrixPrimitiveType<Nullable<ICellData>>>;
18
19
  export declare function getRangeValuesMergeable(m1: IMutationInfo<ISetRangeValuesMutationParams>, m2: IMutationInfo<ISetRangeValuesMutationParams>): boolean;
19
20
  export declare function mergeSetRangeValues(mutations: IMutationInfo[]): IMutationInfo<object>[];
21
+ export declare function rangeIntersectWithDiscreteRange(range: IRange, discrete: IDiscreteRange): true | undefined;
22
+ export declare function discreteRangeContainsRange(discrete: IDiscreteRange, range: IRange): boolean;
@@ -64,7 +64,7 @@ export declare class EditorBridgeService extends Disposable implements IEditorBr
64
64
  private readonly _sheetSkeletonManagerService;
65
65
  private readonly _selectionRenderService;
66
66
  private readonly _themeService;
67
- private readonly _currentUniverService;
67
+ private readonly _univerInstanceService;
68
68
  private readonly _editorService;
69
69
  private _editorUnitId;
70
70
  private _isForceKeepVisible;
@@ -83,7 +83,7 @@ export declare class EditorBridgeService extends Disposable implements IEditorBr
83
83
  AFTER_CELL_EDIT: import('@univerjs/core').IInterceptor<ICellDataForSheetInterceptor, ISheetLocation>;
84
84
  AFTER_CELL_EDIT_ASYNC: import('@univerjs/core').IInterceptor<Promise<Nullable<ICellDataForSheetInterceptor>>, ISheetLocation>;
85
85
  }>;
86
- constructor(_sheetSkeletonManagerService: SheetSkeletonManagerService, _selectionRenderService: ISelectionRenderService, _themeService: ThemeService, _currentUniverService: IUniverInstanceService, _editorService: IEditorService);
86
+ constructor(_sheetSkeletonManagerService: SheetSkeletonManagerService, _selectionRenderService: ISelectionRenderService, _themeService: ThemeService, _univerInstanceService: IUniverInstanceService, _editorService: IEditorService);
87
87
  refreshEditCellState(): void;
88
88
  setEditCell(param: ICurrentEditCellParam): void;
89
89
  getEditCellState(): Readonly<Nullable<IEditorBridgeServiceParam>>;