diff --git a/cips.frontend/package.json b/cips.frontend/package.json
index 974cc74e..0a57ff42 100644
--- a/cips.frontend/package.json
+++ b/cips.frontend/package.json
@@ -112,7 +112,7 @@
"node-sql-parser": "5.3.6",
"pinia": "2.3.0",
"pinia-undo": "0.2.4",
- "platform-core": "8.2.108",
+ "platform-core": "8.2.110",
"quasar": "2.17.6",
"sort-array": "5.0.0",
"svg-path-commander": "2.1.7",
diff --git a/erm.frontend/package.json b/erm.frontend/package.json
index 9c6a1904..5a54be43 100644
--- a/erm.frontend/package.json
+++ b/erm.frontend/package.json
@@ -112,7 +112,7 @@
"node-sql-parser": "5.3.6",
"pinia": "2.3.0",
"pinia-undo": "0.2.4",
- "platform-core": "8.2.108",
+ "platform-core": "8.2.110",
"quasar": "2.17.6",
"sort-array": "5.0.0",
"svg-path-commander": "2.1.7",
diff --git a/gradle.properties b/gradle.properties
index 8288dff3..aacdc76d 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -39,7 +39,7 @@ application_version=1.0.0
platform_group=io.sc
platform_version=8.2.28
platform_plugin_version=8.2.10
-platform_core_frontend_version=8.2.108
+platform_core_frontend_version=8.2.110
###########################################################
# dependencies version
diff --git a/io.sc.engine.mv.frontend/package.json b/io.sc.engine.mv.frontend/package.json
index 50ae6f65..59da6296 100644
--- a/io.sc.engine.mv.frontend/package.json
+++ b/io.sc.engine.mv.frontend/package.json
@@ -112,7 +112,7 @@
"node-sql-parser": "5.3.6",
"pinia": "2.3.0",
"pinia-undo": "0.2.4",
- "platform-core": "8.2.108",
+ "platform-core": "8.2.110",
"quasar": "2.17.6",
"sort-array": "5.0.0",
"svg-path-commander": "2.1.7",
diff --git a/io.sc.engine.rule.frontend/package.json b/io.sc.engine.rule.frontend/package.json
index 74d49453..b4b0ab71 100644
--- a/io.sc.engine.rule.frontend/package.json
+++ b/io.sc.engine.rule.frontend/package.json
@@ -112,7 +112,7 @@
"node-sql-parser": "5.3.6",
"pinia": "2.3.0",
"pinia-undo": "0.2.4",
- "platform-core": "8.2.108",
+ "platform-core": "8.2.110",
"quasar": "2.17.6",
"sort-array": "5.0.0",
"svg-path-commander": "2.1.7",
diff --git a/io.sc.engine.st.frontend/package.json b/io.sc.engine.st.frontend/package.json
index 4a694a75..8ce2bdee 100644
--- a/io.sc.engine.st.frontend/package.json
+++ b/io.sc.engine.st.frontend/package.json
@@ -112,7 +112,7 @@
"node-sql-parser": "5.3.6",
"pinia": "2.3.0",
"pinia-undo": "0.2.4",
- "platform-core": "8.2.108",
+ "platform-core": "8.2.110",
"quasar": "2.17.6",
"sort-array": "5.0.0",
"svg-path-commander": "2.1.7",
diff --git a/io.sc.platform.ai.frontend/package.json b/io.sc.platform.ai.frontend/package.json
index d15ac829..0572fb3f 100644
--- a/io.sc.platform.ai.frontend/package.json
+++ b/io.sc.platform.ai.frontend/package.json
@@ -112,7 +112,7 @@
"node-sql-parser": "5.3.6",
"pinia": "2.3.0",
"pinia-undo": "0.2.4",
- "platform-core": "8.2.108",
+ "platform-core": "8.2.110",
"quasar": "2.17.6",
"sort-array": "5.0.0",
"svg-path-commander": "2.1.7",
diff --git a/io.sc.platform.core.frontend/package.json b/io.sc.platform.core.frontend/package.json
index 290f3625..9c9d1f90 100644
--- a/io.sc.platform.core.frontend/package.json
+++ b/io.sc.platform.core.frontend/package.json
@@ -1,6 +1,6 @@
{
"name": "platform-core",
- "version": "8.2.108",
+ "version": "8.2.110",
"description": "前端核心包,用于快速构建前端的脚手架",
"//main": "库的主文件",
"main": "dist/platform-core.js",
diff --git a/io.sc.platform.core.frontend/src/platform/layout/sub-layout/Topper.vue b/io.sc.platform.core.frontend/src/platform/layout/sub-layout/Topper.vue
index 673a6063..b9e5b36b 100644
--- a/io.sc.platform.core.frontend/src/platform/layout/sub-layout/Topper.vue
+++ b/io.sc.platform.core.frontend/src/platform/layout/sub-layout/Topper.vue
@@ -144,7 +144,7 @@
{{ SessionManager.getSession().user.userName }}
-
{{ SessionManager.getSession().user.defaultRoleName }}
+
{{ SessionManager.getSession().user.defaultRoleName }}
@@ -375,8 +375,8 @@ const doLogout = () => {
AuthenticationManager.removeLocalAccessToken();
window.location.href = Environment.getWebContextPath();
} else {
- axios.post(Environment.apiContextPath(Environment.getConfigure().setting.logoutUrl)).then(() => {
- window.location.href = Tools.concatUrl(Environment.getWebContextPath(), Environment.getConfigure().setting.logoutSuccessUrl);
+ axios.post(Environment.apiContextPath(Environment.getConfigure().setting.logoutUrl)).then((response) => {
+ window.location.href = response.data;
});
}
};
diff --git a/io.sc.platform.core.frontend/src/platform/plugin/axios.ts b/io.sc.platform.core.frontend/src/platform/plugin/axios.ts
index 27bc5f0e..6cd1b4a9 100644
--- a/io.sc.platform.core.frontend/src/platform/plugin/axios.ts
+++ b/io.sc.platform.core.frontend/src/platform/plugin/axios.ts
@@ -5,7 +5,6 @@ import { i18n } from './i18n';
import { Environment } from '@/platform/plugin/environment';
import { AuthenticationManager, SessionManager, ServerExceptionHandler } from './manager';
import { QuasarTools, Tools } from '@/platform/utils';
-import { getHashes } from 'node:crypto';
const ignoredUrls: string[] = [PConst.API_I18N_MESSAGES_URL, PConst.API_APP_CONFIGURE_URL];
const gc = Environment.getConfigure();
@@ -95,7 +94,7 @@ axios.interceptors.response.use(responseInterceptor, getResponseErrorInterceptor
// 无默认服务器端错误处理的 axios
const noErrorAxios = Axios.create({
baseURL: gc.axios?.baseURL || '',
- timeout: gc.axios?.timeout || 1000 * 60,
+ timeout: gc.axios?.timeout || 1000 * 60 * 5,
});
noErrorAxios.interceptors.request.use(requestInterceptor, requestErrorInterceptor);
noErrorAxios.interceptors.response.use(responseInterceptor, getResponseErrorInterceptor(false));
@@ -103,7 +102,7 @@ noErrorAxios.interceptors.response.use(responseInterceptor, getResponseErrorInte
// 下载二进制 axios
const blobAxios = Axios.create({
baseURL: gc.axios?.baseURL || '',
- timeout: gc.axios?.timeout || 1000 * 60,
+ timeout: gc.axios?.timeout || 1000 * 60 * 5,
});
blobAxios.interceptors.request.use(requestInterceptor, requestErrorInterceptor);
blobAxios.interceptors.response.use((response: any) => {
diff --git a/io.sc.platform.core.frontend/src/platform/types/ConfigureType.ts b/io.sc.platform.core.frontend/src/platform/types/ConfigureType.ts
index 31f363b4..6a642b90 100644
--- a/io.sc.platform.core.frontend/src/platform/types/ConfigureType.ts
+++ b/io.sc.platform.core.frontend/src/platform/types/ConfigureType.ts
@@ -119,6 +119,7 @@ export type ConfigureType = {
titleColor: string; // 标题颜色
actions: Map; // 动作按钮 Map(key:动作名称,value:按钮配置)
notifierInterval: number; // 通知器轮询时间间隔(单位:秒)
+ showDefaultRole: boolean; //是否显示用户默认角色
};
// ---------------------------------------------
diff --git a/io.sc.platform.core.frontend/src/platform/views/home/MyTask.vue b/io.sc.platform.core.frontend/src/platform/views/home/MyTask.vue
index cc4da9f5..3c8668f2 100644
--- a/io.sc.platform.core.frontend/src/platform/views/home/MyTask.vue
+++ b/io.sc.platform.core.frontend/src/platform/views/home/MyTask.vue
@@ -15,6 +15,37 @@
+
diff --git a/io.sc.platform.core.frontend/src/views/testcase/excel/Excel3.vue b/io.sc.platform.core.frontend/src/views/testcase/excel/Excel3.vue
new file mode 100644
index 00000000..718c6f04
--- /dev/null
+++ b/io.sc.platform.core.frontend/src/views/testcase/excel/Excel3.vue
@@ -0,0 +1,53 @@
+
+
+
+
diff --git a/io.sc.platform.core.frontend/template-project/package.json b/io.sc.platform.core.frontend/template-project/package.json
index 4d26787e..bf56be80 100644
--- a/io.sc.platform.core.frontend/template-project/package.json
+++ b/io.sc.platform.core.frontend/template-project/package.json
@@ -1,6 +1,6 @@
{
"name": "platform-core",
- "version": "8.2.108",
+ "version": "8.2.110",
"description": "前端核心包,用于快速构建前端的脚手架",
"private": false,
"keywords": [],
@@ -111,7 +111,7 @@
"mockjs": "1.1.0",
"node-sql-parser": "5.3.6",
"pinia": "2.3.0",
- "platform-core": "8.2.108",
+ "platform-core": "8.2.110",
"quasar": "2.17.6",
"sort-array": "5.0.0",
"svg-path-commander": "2.1.7",
diff --git a/io.sc.platform.core.frontend/template-project/src/views/testcase/excel/Excel3.vue b/io.sc.platform.core.frontend/template-project/src/views/testcase/excel/Excel3.vue
new file mode 100644
index 00000000..718c6f04
--- /dev/null
+++ b/io.sc.platform.core.frontend/template-project/src/views/testcase/excel/Excel3.vue
@@ -0,0 +1,53 @@
+
+
+
+
diff --git a/io.sc.platform.csv/build.gradle b/io.sc.platform.csv/build.gradle
index be2b9978..24bcc8c0 100644
--- a/io.sc.platform.csv/build.gradle
+++ b/io.sc.platform.csv/build.gradle
@@ -1,6 +1,7 @@
dependencies {
api(
project(":io.sc.platform.jdbc"),
+
"com.opencsv:opencsv:${opencsv_version}",
)
}
\ No newline at end of file
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/AbsoluteRefType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/AbsoluteRefType.java
new file mode 100644
index 00000000..e025aacc
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/AbsoluteRefType.java
@@ -0,0 +1,14 @@
+package io.sc.platform.excel.univer.model;
+
+public enum AbsoluteRefType {
+ NONE(0),
+ ROW(1),
+ COLUMN(2),
+ ALL(3);
+
+ private int value;
+
+ AbsoluteRefType(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/AlignTypeH.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/AlignTypeH.java
new file mode 100644
index 00000000..2c74b5a9
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/AlignTypeH.java
@@ -0,0 +1,17 @@
+package io.sc.platform.excel.univer.model;
+
+public enum AlignTypeH {
+ CENTER(0),
+ INSIDE(1),
+ LEFT(2),
+ OUTSIDE(3),
+ RIGHT(4),
+ BOTH(5),
+ DISTRIBUTE(6);
+
+ private int value;
+
+ AlignTypeH(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/AlignTypeV.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/AlignTypeV.java
new file mode 100644
index 00000000..05937212
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/AlignTypeV.java
@@ -0,0 +1,15 @@
+package io.sc.platform.excel.univer.model;
+
+public enum AlignTypeV {
+ BOTTOM(0),
+ CENTER(1),
+ INSIDE(2),
+ OUTSIDE(3),
+ TOP(4);
+
+ private int value;
+
+ AlignTypeV(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/BaselineOffset.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/BaselineOffset.java
new file mode 100644
index 00000000..0bebd77d
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/BaselineOffset.java
@@ -0,0 +1,14 @@
+package io.sc.platform.excel.univer.model;
+
+public enum BaselineOffset {
+ NORMAL(1),
+ SUBSCRIPT(2),
+ SUPERSCRIPT(3);
+
+ private int value;
+
+ BaselineOffset(int value){
+ this.value =value;
+ }
+}
+
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/BlockType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/BlockType.java
new file mode 100644
index 00000000..f101b5c8
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/BlockType.java
@@ -0,0 +1,12 @@
+package io.sc.platform.excel.univer.model;
+
+public enum BlockType {
+ DRAWING(0),
+ CUSTOM(1);
+
+ private int value;
+
+ BlockType(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/BorderStyleTypes.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/BorderStyleTypes.java
new file mode 100644
index 00000000..b129ceb0
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/BorderStyleTypes.java
@@ -0,0 +1,24 @@
+package io.sc.platform.excel.univer.model;
+
+public enum BorderStyleTypes {
+ NONE(0),
+ THIN(1),
+ HAIR(2),
+ DOTTED(3),
+ DASHED(4),
+ DASH_DOT(5),
+ DASH_DOT_DOT(6),
+ DOUBLE(7),
+ MEDIUM(8),
+ MEDIUM_DASHED(9),
+ MEDIUM_DASH_DOT(10),
+ MEDIUM_DASH_DOT_DOT(11),
+ SLANT_DASH_DOT(12),
+ THICK(13);
+
+ private int value;
+
+ BorderStyleTypes(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/BulletAlignment.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/BulletAlignment.java
new file mode 100644
index 00000000..5c8ed8e2
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/BulletAlignment.java
@@ -0,0 +1,15 @@
+package io.sc.platform.excel.univer.model;
+
+public enum BulletAlignment {
+ BULLET_ALIGNMENT_UNSPECIFIED(0),// The bullet alignment is unspecified.
+ START(1),// The bullet is aligned to the start of the space allotted for rendering the bullet. Left-aligned for LTR text), right-aligned otherwise.
+ CENTER(2),// The bullet is aligned to the center of the space allotted for rendering the bullet.
+ END(3),// The bullet is aligned to the end of the space allotted for rendering the bullet. Right-aligned for LTR text), left-aligned otherwise.
+ BOTH(4);
+
+ private int value;
+
+ BulletAlignment(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/CellValueType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/CellValueType.java
new file mode 100644
index 00000000..d6d1783c
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/CellValueType.java
@@ -0,0 +1,14 @@
+package io.sc.platform.excel.univer.model;
+
+public enum CellValueType {
+ STRING(1),
+ NUMBER(2),
+ BOOLEAN(3),
+ FORCE_STRING(4);
+
+ private int value;
+
+ CellValueType(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/CharacterSpacingControlType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/CharacterSpacingControlType.java
new file mode 100644
index 00000000..56f338e2
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/CharacterSpacingControlType.java
@@ -0,0 +1,13 @@
+package io.sc.platform.excel.univer.model;
+
+public enum CharacterSpacingControlType {
+ compressPunctuation(0),
+ compressPunctuationAndJapaneseKana(1),
+ doNotCompress(2);
+
+ private int value;
+
+ CharacterSpacingControlType(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ColumnSeparatorType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ColumnSeparatorType.java
new file mode 100644
index 00000000..70e7bf95
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ColumnSeparatorType.java
@@ -0,0 +1,13 @@
+package io.sc.platform.excel.univer.model;
+
+public enum ColumnSeparatorType {
+ COLUMN_SEPARATOR_STYLE_UNSPECIFIED(0),// An unspecified column separator style.
+ NONE(1),// No column separator lines between columns.
+ BETWEEN_EACH_COLUMN(2);
+
+ private int value;
+
+ ColumnSeparatorType(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/CustomDecorationType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/CustomDecorationType.java
new file mode 100644
index 00000000..99e50670
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/CustomDecorationType.java
@@ -0,0 +1,12 @@
+package io.sc.platform.excel.univer.model;
+
+public enum CustomDecorationType {
+ COMMENT(0),
+ DELETED(9999);
+
+ private int value;
+
+ CustomDecorationType(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/CustomRangeType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/CustomRangeType.java
new file mode 100644
index 00000000..8c04d248
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/CustomRangeType.java
@@ -0,0 +1,19 @@
+package io.sc.platform.excel.univer.model;
+
+public enum CustomRangeType {
+ HYPERLINK(0),
+ FIELD(1),// 17.16 Fields and Hyperlinks
+ SDT(2),// 17.5.2 Structured Document Tags
+ BOOKMARK(3),
+ COMMENT(4),
+ CUSTOM(5),
+ MENTION(6),
+ UNI_FORMULA(7),
+ DELTED(9999);
+
+ private int value;
+
+ CustomRangeType(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/DashStyleType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/DashStyleType.java
new file mode 100644
index 00000000..d38e9162
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/DashStyleType.java
@@ -0,0 +1,14 @@
+package io.sc.platform.excel.univer.model;
+
+public enum DashStyleType {
+ DASH_STYLE_UNSPECIFIED(0),// Unspecified dash style.
+ SOLID(1),// Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'solid'. This is the default dash style.
+ DOT(2),// Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dot'.
+ DASH(3);
+
+ private int value;
+
+ DashStyleType(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/DocumentFlavor.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/DocumentFlavor.java
new file mode 100644
index 00000000..e4f4739e
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/DocumentFlavor.java
@@ -0,0 +1,13 @@
+package io.sc.platform.excel.univer.model;
+
+public enum DocumentFlavor {
+ UNSPECIFIED(0),
+ TRADITIONAL(1),
+ MODERN(2);
+
+ private int value;
+
+ DocumentFlavor(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/DrawingType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/DrawingType.java
new file mode 100644
index 00000000..0e20044c
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/DrawingType.java
@@ -0,0 +1,50 @@
+package io.sc.platform.excel.univer.model;
+
+public enum DrawingType {
+ /**
+ * Unrecognized drawing type), requires user to determine
+ */
+ UNRECOGNIZED(-1),
+ /**
+ * Image
+ */
+ DRAWING_IMAGE(0),
+ /**
+ * Shape), similar to shapes in Office), including circles), rectangles), lines), etc.
+ */
+ DRAWING_SHAPE(1),
+ /**
+ * Chart
+ */
+ DRAWING_CHART(2),
+ /**
+ * Table
+ */
+ DRAWING_TABLE(3),
+ /**
+ * SmartArt), similar to SmartArt in Office
+ */
+ DRAWING_SMART_ART(4),
+ /**
+ * Video
+ */
+ DRAWING_VIDEO(5),
+ /**
+ * Drawing group
+ */
+ DRAWING_GROUP(6),
+ /**
+ * Univer object), allows inserting images), tables), documents), slides as floating objects into the document
+ */
+ DRAWING_UNIT(7),
+ /**
+ * Dom element), allows inserting HTML elements as floating objects into the document
+ */
+ DRAWING_DOM(8);
+
+ private int value;
+
+ DrawingType(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/GridType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/GridType.java
new file mode 100644
index 00000000..82a9eeb0
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/GridType.java
@@ -0,0 +1,14 @@
+package io.sc.platform.excel.univer.model;
+
+public enum GridType {
+ DEFAULT(0),
+ LINES(1),
+ LINES_AND_CHARS(2),
+ SNAP_TO_CHARS(3);
+
+ private int value;
+
+ GridType(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/HorizontalAlign.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/HorizontalAlign.java
new file mode 100644
index 00000000..661284f5
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/HorizontalAlign.java
@@ -0,0 +1,17 @@
+package io.sc.platform.excel.univer.model;
+
+public enum HorizontalAlign {
+ UNSPECIFIED(0), // The horizontal alignment is not specified. Do not use this.
+ LEFT(1), // The text is explicitly aligned to the left of the cell.
+ CENTER(2), // The text is explicitly aligned to the center of the cell.
+ RIGHT(3), // The text is explicitly aligned to the right of the cell.
+ JUSTIFIED(4), // The paragraph is justified.
+ BOTH(5), // The paragraph is justified.
+ DISTRIBUTED(6);
+
+ private int value;
+
+ HorizontalAlign(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IBorderData.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IBorderData.java
new file mode 100644
index 00000000..b6d51c11
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IBorderData.java
@@ -0,0 +1,94 @@
+package io.sc.platform.excel.univer.model;
+
+public class IBorderData {
+ private IBorderStyleData t;
+ private IBorderStyleData r;
+ private IBorderStyleData b;
+ private IBorderStyleData l;
+ private IBorderStyleData tl_br;
+ private IBorderStyleData tl_bc;
+ private IBorderStyleData tl_mr;
+ private IBorderStyleData bl_tr;
+ private IBorderStyleData ml_tr;
+ private IBorderStyleData bc_tr;
+
+ public IBorderStyleData getT() {
+ return t;
+ }
+
+ public void setT(IBorderStyleData t) {
+ this.t = t;
+ }
+
+ public IBorderStyleData getR() {
+ return r;
+ }
+
+ public void setR(IBorderStyleData r) {
+ this.r = r;
+ }
+
+ public IBorderStyleData getB() {
+ return b;
+ }
+
+ public void setB(IBorderStyleData b) {
+ this.b = b;
+ }
+
+ public IBorderStyleData getL() {
+ return l;
+ }
+
+ public void setL(IBorderStyleData l) {
+ this.l = l;
+ }
+
+ public IBorderStyleData getTl_br() {
+ return tl_br;
+ }
+
+ public void setTl_br(IBorderStyleData tl_br) {
+ this.tl_br = tl_br;
+ }
+
+ public IBorderStyleData getTl_bc() {
+ return tl_bc;
+ }
+
+ public void setTl_bc(IBorderStyleData tl_bc) {
+ this.tl_bc = tl_bc;
+ }
+
+ public IBorderStyleData getTl_mr() {
+ return tl_mr;
+ }
+
+ public void setTl_mr(IBorderStyleData tl_mr) {
+ this.tl_mr = tl_mr;
+ }
+
+ public IBorderStyleData getBl_tr() {
+ return bl_tr;
+ }
+
+ public void setBl_tr(IBorderStyleData bl_tr) {
+ this.bl_tr = bl_tr;
+ }
+
+ public IBorderStyleData getMl_tr() {
+ return ml_tr;
+ }
+
+ public void setMl_tr(IBorderStyleData ml_tr) {
+ this.ml_tr = ml_tr;
+ }
+
+ public IBorderStyleData getBc_tr() {
+ return bc_tr;
+ }
+
+ public void setBc_tr(IBorderStyleData bc_tr) {
+ this.bc_tr = bc_tr;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IBorderStyleData.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IBorderStyleData.java
new file mode 100644
index 00000000..e38c27d7
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IBorderStyleData.java
@@ -0,0 +1,22 @@
+package io.sc.platform.excel.univer.model;
+
+public class IBorderStyleData {
+ private BorderStyleTypes s;
+ private IColorStyle cl;
+
+ public BorderStyleTypes getS() {
+ return s;
+ }
+
+ public void setS(BorderStyleTypes s) {
+ this.s = s;
+ }
+
+ public IColorStyle getCl() {
+ return cl;
+ }
+
+ public void setCl(IColorStyle cl) {
+ this.cl = cl;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IBullet.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IBullet.java
new file mode 100644
index 00000000..0ea049fd
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IBullet.java
@@ -0,0 +1,40 @@
+package io.sc.platform.excel.univer.model;
+
+public class IBullet {
+ private String listType;
+ private String listId;
+ private Integer nestingLevel;
+ private ITextStyle textStyle;
+
+ public String getListType() {
+ return listType;
+ }
+
+ public void setListType(String listType) {
+ this.listType = listType;
+ }
+
+ public String getListId() {
+ return listId;
+ }
+
+ public void setListId(String listId) {
+ this.listId = listId;
+ }
+
+ public Integer getNestingLevel() {
+ return nestingLevel;
+ }
+
+ public void setNestingLevel(Integer nestingLevel) {
+ this.nestingLevel = nestingLevel;
+ }
+
+ public ITextStyle getTextStyle() {
+ return textStyle;
+ }
+
+ public void setTextStyle(ITextStyle textStyle) {
+ this.textStyle = textStyle;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICellData.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICellData.java
new file mode 100644
index 00000000..5856258e
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICellData.java
@@ -0,0 +1,88 @@
+package io.sc.platform.excel.univer.model;
+
+import java.util.Map;
+
+public class ICellData {
+ /**
+ * The unique key, a random string, is used for the plug-in to associate the cell. When the cell information changes,
+ * the plug-in does not need to change the data, reducing the pressure on the back-end interface id?: string.
+ */
+ private IDocumentData p;
+ /**
+ * style id, IStyleData | String
+ */
+ private Object s;
+ /**
+ * Origin value, string | number | boolean
+ */
+ private Object v;
+ private CellValueType t;
+ /**
+ * Raw formula string. For example `=SUM(A1:B4)`.
+ */
+ private String f;
+ /**
+ * Id of the formula.
+ */
+ private String si;
+ /**
+ * User stored custom fields
+ */
+ private Map custom;
+
+ public IDocumentData getP() {
+ return p;
+ }
+
+ public void setP(IDocumentData p) {
+ this.p = p;
+ }
+
+ public Object getS() {
+ return s;
+ }
+
+ public void setS(Object s) {
+ this.s = s;
+ }
+
+ public Object getV() {
+ return v;
+ }
+
+ public void setV(Object v) {
+ this.v = v;
+ }
+
+ public CellValueType getT() {
+ return t;
+ }
+
+ public void setT(CellValueType t) {
+ this.t = t;
+ }
+
+ public String getF() {
+ return f;
+ }
+
+ public void setF(String f) {
+ this.f = f;
+ }
+
+ public String getSi() {
+ return si;
+ }
+
+ public void setSi(String si) {
+ this.si = si;
+ }
+
+ public Map getCustom() {
+ return custom;
+ }
+
+ public void setCustom(Map custom) {
+ this.custom = custom;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IColorStyle.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IColorStyle.java
new file mode 100644
index 00000000..ff7c0116
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IColorStyle.java
@@ -0,0 +1,22 @@
+package io.sc.platform.excel.univer.model;
+
+public class IColorStyle {
+ private String rgb;
+ private ThemeColorType th;
+
+ public String getRgb() {
+ return rgb;
+ }
+
+ public void setRgb(String rgb) {
+ this.rgb = rgb;
+ }
+
+ public ThemeColorType getTh() {
+ return th;
+ }
+
+ public void setTh(ThemeColorType th) {
+ this.th = th;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IColumnData.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IColumnData.java
new file mode 100644
index 00000000..0ee09195
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IColumnData.java
@@ -0,0 +1,57 @@
+package io.sc.platform.excel.univer.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.util.Map;
+
+public class IColumnData {
+ /**
+ * width
+ */
+ private Integer w;
+ /**
+ * hidden
+ */
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean hd;
+ /**
+ * style id
+ */
+ private Object s;
+ /**
+ * User stored custom fields
+ */
+ private Map custom;
+
+ public Integer getW() {
+ return w;
+ }
+
+ public void setW(Integer w) {
+ this.w = w;
+ }
+
+ public boolean isHd() {
+ return hd;
+ }
+
+ public void setHd(boolean hd) {
+ this.hd = hd;
+ }
+
+ public Object getS() {
+ return s;
+ }
+
+ public void setS(Object s) {
+ this.s = s;
+ }
+
+ public Map getCustom() {
+ return custom;
+ }
+
+ public void setCustom(Map custom) {
+ this.custom = custom;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IColumnHeader.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IColumnHeader.java
new file mode 100644
index 00000000..1f8b1857
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IColumnHeader.java
@@ -0,0 +1,26 @@
+package io.sc.platform.excel.univer.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+public class IColumnHeader {
+ private Integer height;
+
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean hidden;
+
+ public Integer getHeight() {
+ return height;
+ }
+
+ public void setHeight(Integer height) {
+ this.height = height;
+ }
+
+ public boolean isHidden() {
+ return hidden;
+ }
+
+ public void setHidden(boolean hidden) {
+ this.hidden = hidden;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICustomBlock.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICustomBlock.java
new file mode 100644
index 00000000..f097b023
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICustomBlock.java
@@ -0,0 +1,31 @@
+package io.sc.platform.excel.univer.model;
+
+public class ICustomBlock {
+ private Integer startIndex;
+ private BlockType blockType;
+ private String blockId;
+
+ public Integer getStartIndex() {
+ return startIndex;
+ }
+
+ public void setStartIndex(Integer startIndex) {
+ this.startIndex = startIndex;
+ }
+
+ public BlockType getBlockType() {
+ return blockType;
+ }
+
+ public void setBlockType(BlockType blockType) {
+ this.blockType = blockType;
+ }
+
+ public String getBlockId() {
+ return blockId;
+ }
+
+ public void setBlockId(String blockId) {
+ this.blockId = blockId;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICustomDecoration.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICustomDecoration.java
new file mode 100644
index 00000000..54a02ddc
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICustomDecoration.java
@@ -0,0 +1,40 @@
+package io.sc.platform.excel.univer.model;
+
+public class ICustomDecoration {
+ private Integer startIndex;
+ private Integer endIndex;
+ private String id;
+ private CustomDecorationType type;
+
+ public Integer getStartIndex() {
+ return startIndex;
+ }
+
+ public void setStartIndex(Integer startIndex) {
+ this.startIndex = startIndex;
+ }
+
+ public Integer getEndIndex() {
+ return endIndex;
+ }
+
+ public void setEndIndex(Integer endIndex) {
+ this.endIndex = endIndex;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public CustomDecorationType getType() {
+ return type;
+ }
+
+ public void setType(CustomDecorationType type) {
+ this.type = type;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICustomRange.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICustomRange.java
new file mode 100644
index 00000000..53e65f07
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICustomRange.java
@@ -0,0 +1,67 @@
+package io.sc.platform.excel.univer.model;
+
+import java.util.Map;
+
+public class ICustomRange {
+ private Integer startIndex;
+ private Integer endIndex;
+ private String rangeId;
+ private CustomRangeType rangeType;
+ /**
+ * display as a whole-entity
+ */
+ private boolean wholeEntity;
+ /**
+ * properties of custom range,
+ * for example, hyperlink: `{ url: string }`
+ */
+ private Map properties;
+
+ public Integer getStartIndex() {
+ return startIndex;
+ }
+
+ public void setStartIndex(Integer startIndex) {
+ this.startIndex = startIndex;
+ }
+
+ public Integer getEndIndex() {
+ return endIndex;
+ }
+
+ public void setEndIndex(Integer endIndex) {
+ this.endIndex = endIndex;
+ }
+
+ public String getRangeId() {
+ return rangeId;
+ }
+
+ public void setRangeId(String rangeId) {
+ this.rangeId = rangeId;
+ }
+
+ public CustomRangeType getRangeType() {
+ return rangeType;
+ }
+
+ public void setRangeType(CustomRangeType rangeType) {
+ this.rangeType = rangeType;
+ }
+
+ public boolean isWholeEntity() {
+ return wholeEntity;
+ }
+
+ public void setWholeEntity(boolean wholeEntity) {
+ this.wholeEntity = wholeEntity;
+ }
+
+ public Map getProperties() {
+ return properties;
+ }
+
+ public void setProperties(Map properties) {
+ this.properties = properties;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICustomTable.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICustomTable.java
new file mode 100644
index 00000000..c8a46a11
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICustomTable.java
@@ -0,0 +1,31 @@
+package io.sc.platform.excel.univer.model;
+
+public class ICustomTable {
+ private Integer startIndex;
+ private Integer endIndex;
+ private String tableId;
+
+ public Integer getStartIndex() {
+ return startIndex;
+ }
+
+ public void setStartIndex(Integer startIndex) {
+ this.startIndex = startIndex;
+ }
+
+ public Integer getEndIndex() {
+ return endIndex;
+ }
+
+ public void setEndIndex(Integer endIndex) {
+ this.endIndex = endIndex;
+ }
+
+ public String getTableId() {
+ return tableId;
+ }
+
+ public void setTableId(String tableId) {
+ this.tableId = tableId;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDistFromText.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDistFromText.java
new file mode 100644
index 00000000..b0526e08
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDistFromText.java
@@ -0,0 +1,40 @@
+package io.sc.platform.excel.univer.model;
+
+public class IDistFromText {
+ private Integer distT;
+ private Integer distB;
+ private Integer distL;
+ private Integer distR;
+
+ public Integer getDistT() {
+ return distT;
+ }
+
+ public void setDistT(Integer distT) {
+ this.distT = distT;
+ }
+
+ public Integer getDistB() {
+ return distB;
+ }
+
+ public void setDistB(Integer distB) {
+ this.distB = distB;
+ }
+
+ public Integer getDistL() {
+ return distL;
+ }
+
+ public void setDistL(Integer distL) {
+ this.distL = distL;
+ }
+
+ public Integer getDistR() {
+ return distR;
+ }
+
+ public void setDistR(Integer distR) {
+ this.distR = distR;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocDrawingBase.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocDrawingBase.java
new file mode 100644
index 00000000..506d3931
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocDrawingBase.java
@@ -0,0 +1,127 @@
+package io.sc.platform.excel.univer.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+public class IDocDrawingBase extends IDrawingParam {
+ private String drawingId;
+ private String title;
+ private String description;
+ private IDocDrawingPosition docTransform;
+ private PositionedObjectLayoutType layoutType;
+
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean behindDoc;
+ private int[] start;
+ private int[][] lineTo;
+ private WrapTextType wrapText;
+ private int distL;
+ private int distR;
+ private int distT;
+ private int distB;
+
+ @Override
+ public String getDrawingId() {
+ return drawingId;
+ }
+
+ @Override
+ public void setDrawingId(String drawingId) {
+ this.drawingId = drawingId;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public IDocDrawingPosition getDocTransform() {
+ return docTransform;
+ }
+
+ public void setDocTransform(IDocDrawingPosition docTransform) {
+ this.docTransform = docTransform;
+ }
+
+ public PositionedObjectLayoutType getLayoutType() {
+ return layoutType;
+ }
+
+ public void setLayoutType(PositionedObjectLayoutType layoutType) {
+ this.layoutType = layoutType;
+ }
+
+ public boolean isBehindDoc() {
+ return behindDoc;
+ }
+
+ public void setBehindDoc(boolean behindDoc) {
+ this.behindDoc = behindDoc;
+ }
+
+ public int[] getStart() {
+ return start;
+ }
+
+ public void setStart(int[] start) {
+ this.start = start;
+ }
+
+ public int[][] getLineTo() {
+ return lineTo;
+ }
+
+ public void setLineTo(int[][] lineTo) {
+ this.lineTo = lineTo;
+ }
+
+ public WrapTextType getWrapText() {
+ return wrapText;
+ }
+
+ public void setWrapText(WrapTextType wrapText) {
+ this.wrapText = wrapText;
+ }
+
+ public int getDistL() {
+ return distL;
+ }
+
+ public void setDistL(int distL) {
+ this.distL = distL;
+ }
+
+ public int getDistR() {
+ return distR;
+ }
+
+ public void setDistR(int distR) {
+ this.distR = distR;
+ }
+
+ public int getDistT() {
+ return distT;
+ }
+
+ public void setDistT(int distT) {
+ this.distT = distT;
+ }
+
+ public int getDistB() {
+ return distB;
+ }
+
+ public void setDistB(int distB) {
+ this.distB = distB;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocDrawingPosition.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocDrawingPosition.java
new file mode 100644
index 00000000..88d84351
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocDrawingPosition.java
@@ -0,0 +1,40 @@
+package io.sc.platform.excel.univer.model;
+
+public class IDocDrawingPosition {
+ private ISize size;
+ private IObjectPositionH positionH;
+ private IObjectPositionV positionV;
+ private Integer angle;
+
+ public ISize getSize() {
+ return size;
+ }
+
+ public void setSize(ISize size) {
+ this.size = size;
+ }
+
+ public IObjectPositionH getPositionH() {
+ return positionH;
+ }
+
+ public void setPositionH(IObjectPositionH positionH) {
+ this.positionH = positionH;
+ }
+
+ public IObjectPositionV getPositionV() {
+ return positionV;
+ }
+
+ public void setPositionV(IObjectPositionV positionV) {
+ this.positionV = positionV;
+ }
+
+ public Integer getAngle() {
+ return angle;
+ }
+
+ public void setAngle(Integer angle) {
+ this.angle = angle;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocsBorder.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocsBorder.java
new file mode 100644
index 00000000..9e3fa17e
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocsBorder.java
@@ -0,0 +1,31 @@
+package io.sc.platform.excel.univer.model;
+
+public class IDocsBorder {
+ private IColorStyle color;
+ private Integer width;
+ private DashStyleType dashStyle;
+
+ public IColorStyle getColor() {
+ return color;
+ }
+
+ public void setColor(IColorStyle color) {
+ this.color = color;
+ }
+
+ public Integer getWidth() {
+ return width;
+ }
+
+ public void setWidth(Integer width) {
+ this.width = width;
+ }
+
+ public DashStyleType getDashStyle() {
+ return dashStyle;
+ }
+
+ public void setDashStyle(DashStyleType dashStyle) {
+ this.dashStyle = dashStyle;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentBody.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentBody.java
new file mode 100644
index 00000000..98ae35f8
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentBody.java
@@ -0,0 +1,91 @@
+package io.sc.platform.excel.univer.model;
+
+import java.util.Map;
+
+public class IDocumentBody {
+ private String dataStream;
+ private ITextRun[] textRuns;
+ private IParagraph[] paragraphs;
+ private ISectionBreak[] sectionBreaks;
+ private ICustomBlock[] customBlocks;
+ private ICustomTable[] tables;
+ private ICustomRange[] customRanges;
+ private ICustomDecoration[] customDecorations;
+ /**
+ * for copy/paste, data of custom-range and other module
+ * it won't save to disk
+ */
+ private Map payloads;
+
+ public String getDataStream() {
+ return dataStream;
+ }
+
+ public void setDataStream(String dataStream) {
+ this.dataStream = dataStream;
+ }
+
+ public ITextRun[] getTextRuns() {
+ return textRuns;
+ }
+
+ public void setTextRuns(ITextRun[] textRuns) {
+ this.textRuns = textRuns;
+ }
+
+ public IParagraph[] getParagraphs() {
+ return paragraphs;
+ }
+
+ public void setParagraphs(IParagraph[] paragraphs) {
+ this.paragraphs = paragraphs;
+ }
+
+ public ISectionBreak[] getSectionBreaks() {
+ return sectionBreaks;
+ }
+
+ public void setSectionBreaks(ISectionBreak[] sectionBreaks) {
+ this.sectionBreaks = sectionBreaks;
+ }
+
+ public ICustomBlock[] getCustomBlocks() {
+ return customBlocks;
+ }
+
+ public void setCustomBlocks(ICustomBlock[] customBlocks) {
+ this.customBlocks = customBlocks;
+ }
+
+ public ICustomTable[] getTables() {
+ return tables;
+ }
+
+ public void setTables(ICustomTable[] tables) {
+ this.tables = tables;
+ }
+
+ public ICustomRange[] getCustomRanges() {
+ return customRanges;
+ }
+
+ public void setCustomRanges(ICustomRange[] customRanges) {
+ this.customRanges = customRanges;
+ }
+
+ public ICustomDecoration[] getCustomDecorations() {
+ return customDecorations;
+ }
+
+ public void setCustomDecorations(ICustomDecoration[] customDecorations) {
+ this.customDecorations = customDecorations;
+ }
+
+ public Map getPayloads() {
+ return payloads;
+ }
+
+ public void setPayloads(Map payloads) {
+ this.payloads = payloads;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentData.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentData.java
new file mode 100644
index 00000000..a8dda637
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentData.java
@@ -0,0 +1,87 @@
+package io.sc.platform.excel.univer.model;
+
+public class IDocumentData extends IReferenceSource {
+ /** unit ID */
+ private String id;
+ /** Revision of this document. Would be used in collaborated editing. Starts with zero. */
+ private Integer rev;
+ private LocaleType locale;
+ private String title;
+ private IDocumentBody body;
+ private IDocumentStyle documentStyle;
+ private IDocumentSettings settings;
+ private IResource[] resources;
+ private boolean disabled;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public Integer getRev() {
+ return rev;
+ }
+
+ public void setRev(Integer rev) {
+ this.rev = rev;
+ }
+
+ public LocaleType getLocale() {
+ return locale;
+ }
+
+ public void setLocale(LocaleType locale) {
+ this.locale = locale;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public IDocumentBody getBody() {
+ return body;
+ }
+
+ public void setBody(IDocumentBody body) {
+ this.body = body;
+ }
+
+ public IDocumentStyle getDocumentStyle() {
+ return documentStyle;
+ }
+
+ public void setDocumentStyle(IDocumentStyle documentStyle) {
+ this.documentStyle = documentStyle;
+ }
+
+ public IDocumentSettings getSettings() {
+ return settings;
+ }
+
+ public void setSettings(IDocumentSettings settings) {
+ this.settings = settings;
+ }
+
+ public IResource[] getResources() {
+ return resources;
+ }
+
+ public void setResources(IResource[] resources) {
+ this.resources = resources;
+ }
+
+ public boolean isDisabled() {
+ return disabled;
+ }
+
+ public void setDisabled(boolean disabled) {
+ this.disabled = disabled;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentRenderConfig.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentRenderConfig.java
new file mode 100644
index 00000000..86164949
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentRenderConfig.java
@@ -0,0 +1,102 @@
+package io.sc.platform.excel.univer.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+public class IDocumentRenderConfig {
+ private VerticalAlign verticalAlign;
+ private Integer centerAngle;
+ private Integer vertexAngle;
+ private HorizontalAlign horizontalAlign;
+
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean isRotateNonEastAsian;
+ private IColorStyle background;
+ private WrapStrategy wrapStrategy;
+ private CellValueType cellValueType;
+
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean isRenderStyle;
+
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean zeroWidthParagraphBreak;
+
+ public VerticalAlign getVerticalAlign() {
+ return verticalAlign;
+ }
+
+ public void setVerticalAlign(VerticalAlign verticalAlign) {
+ this.verticalAlign = verticalAlign;
+ }
+
+ public Integer getCenterAngle() {
+ return centerAngle;
+ }
+
+ public void setCenterAngle(Integer centerAngle) {
+ this.centerAngle = centerAngle;
+ }
+
+ public Integer getVertexAngle() {
+ return vertexAngle;
+ }
+
+ public void setVertexAngle(Integer vertexAngle) {
+ this.vertexAngle = vertexAngle;
+ }
+
+ public HorizontalAlign getHorizontalAlign() {
+ return horizontalAlign;
+ }
+
+ public void setHorizontalAlign(HorizontalAlign horizontalAlign) {
+ this.horizontalAlign = horizontalAlign;
+ }
+
+ public boolean isRotateNonEastAsian() {
+ return isRotateNonEastAsian;
+ }
+
+ public void setRotateNonEastAsian(boolean rotateNonEastAsian) {
+ isRotateNonEastAsian = rotateNonEastAsian;
+ }
+
+ public IColorStyle getBackground() {
+ return background;
+ }
+
+ public void setBackground(IColorStyle background) {
+ this.background = background;
+ }
+
+ public WrapStrategy getWrapStrategy() {
+ return wrapStrategy;
+ }
+
+ public void setWrapStrategy(WrapStrategy wrapStrategy) {
+ this.wrapStrategy = wrapStrategy;
+ }
+
+ public CellValueType getCellValueType() {
+ return cellValueType;
+ }
+
+ public void setCellValueType(CellValueType cellValueType) {
+ this.cellValueType = cellValueType;
+ }
+
+ public boolean isRenderStyle() {
+ return isRenderStyle;
+ }
+
+ public void setRenderStyle(boolean renderStyle) {
+ isRenderStyle = renderStyle;
+ }
+
+ public boolean isZeroWidthParagraphBreak() {
+ return zeroWidthParagraphBreak;
+ }
+
+ public void setZeroWidthParagraphBreak(boolean zeroWidthParagraphBreak) {
+ this.zeroWidthParagraphBreak = zeroWidthParagraphBreak;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentSettings.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentSettings.java
new file mode 100644
index 00000000..568cfa50
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentSettings.java
@@ -0,0 +1,13 @@
+package io.sc.platform.excel.univer.model;
+
+public class IDocumentSettings {
+ private Integer zoomRatio;
+
+ public Integer getZoomRatio() {
+ return zoomRatio;
+ }
+
+ public void setZoomRatio(Integer zoomRatio) {
+ this.zoomRatio = zoomRatio;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentStyle.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentStyle.java
new file mode 100644
index 00000000..ab5e61c8
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentStyle.java
@@ -0,0 +1,272 @@
+package io.sc.platform.excel.univer.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+public class IDocumentStyle {
+ private ITextStyle textStyle;
+
+ private Integer pageNumberStart;
+ private ISize pageSize;
+ private PageOrientType pageOrient;
+ private DocumentFlavor documentFlavor;
+ private Integer marginHeader;
+ private Integer marginFooter;
+ private IDocumentRenderConfig renderConfig;
+
+ private Integer margIntegerop;
+ private Integer marginBottom;
+ private Integer marginRight;
+ private Integer marginLeft;
+
+ private Integer defaultTabStop;
+ private CharacterSpacingControlType characterSpacingControl;
+ private Integer paragraphLineGapDefault;
+
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean spaceWidthEastAsian;
+
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean autoHyphenation;
+ private Integer consecutiveHyphenLimit;
+
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean doNotHyphenateCaps;
+ private Integer hyphenationZone;
+
+ private String defaultHeaderId;
+ private String defaultFooterId;
+ private String evenPageHeaderId;
+ private String evenPageFooterId;
+ private String firstPageHeaderId;
+ private String firstPageFooterId;
+
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean useFirstPageHeaderFooter;
+
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean evenAndOddHeaders;
+
+ public ITextStyle getTextStyle() {
+ return textStyle;
+ }
+
+ public void setTextStyle(ITextStyle textStyle) {
+ this.textStyle = textStyle;
+ }
+
+ public Integer getPageNumberStart() {
+ return pageNumberStart;
+ }
+
+ public void setPageNumberStart(Integer pageNumberStart) {
+ this.pageNumberStart = pageNumberStart;
+ }
+
+ public ISize getPageSize() {
+ return pageSize;
+ }
+
+ public void setPageSize(ISize pageSize) {
+ this.pageSize = pageSize;
+ }
+
+ public PageOrientType getPageOrient() {
+ return pageOrient;
+ }
+
+ public void setPageOrient(PageOrientType pageOrient) {
+ this.pageOrient = pageOrient;
+ }
+
+ public DocumentFlavor getDocumentFlavor() {
+ return documentFlavor;
+ }
+
+ public void setDocumentFlavor(DocumentFlavor documentFlavor) {
+ this.documentFlavor = documentFlavor;
+ }
+
+ public Integer getMarginHeader() {
+ return marginHeader;
+ }
+
+ public void setMarginHeader(Integer marginHeader) {
+ this.marginHeader = marginHeader;
+ }
+
+ public Integer getMarginFooter() {
+ return marginFooter;
+ }
+
+ public void setMarginFooter(Integer marginFooter) {
+ this.marginFooter = marginFooter;
+ }
+
+ public IDocumentRenderConfig getRenderConfig() {
+ return renderConfig;
+ }
+
+ public void setRenderConfig(IDocumentRenderConfig renderConfig) {
+ this.renderConfig = renderConfig;
+ }
+
+ public Integer getMargIntegerop() {
+ return margIntegerop;
+ }
+
+ public void setMargIntegerop(Integer margIntegerop) {
+ this.margIntegerop = margIntegerop;
+ }
+
+ public Integer getMarginBottom() {
+ return marginBottom;
+ }
+
+ public void setMarginBottom(Integer marginBottom) {
+ this.marginBottom = marginBottom;
+ }
+
+ public Integer getMarginRight() {
+ return marginRight;
+ }
+
+ public void setMarginRight(Integer marginRight) {
+ this.marginRight = marginRight;
+ }
+
+ public Integer getMarginLeft() {
+ return marginLeft;
+ }
+
+ public void setMarginLeft(Integer marginLeft) {
+ this.marginLeft = marginLeft;
+ }
+
+ public Integer getDefaultTabStop() {
+ return defaultTabStop;
+ }
+
+ public void setDefaultTabStop(Integer defaultTabStop) {
+ this.defaultTabStop = defaultTabStop;
+ }
+
+ public CharacterSpacingControlType getCharacterSpacingControl() {
+ return characterSpacingControl;
+ }
+
+ public void setCharacterSpacingControl(CharacterSpacingControlType characterSpacingControl) {
+ this.characterSpacingControl = characterSpacingControl;
+ }
+
+ public Integer getParagraphLineGapDefault() {
+ return paragraphLineGapDefault;
+ }
+
+ public void setParagraphLineGapDefault(Integer paragraphLineGapDefault) {
+ this.paragraphLineGapDefault = paragraphLineGapDefault;
+ }
+
+ public boolean isSpaceWidthEastAsian() {
+ return spaceWidthEastAsian;
+ }
+
+ public void setSpaceWidthEastAsian(boolean spaceWidthEastAsian) {
+ this.spaceWidthEastAsian = spaceWidthEastAsian;
+ }
+
+ public boolean isAutoHyphenation() {
+ return autoHyphenation;
+ }
+
+ public void setAutoHyphenation(boolean autoHyphenation) {
+ this.autoHyphenation = autoHyphenation;
+ }
+
+ public Integer getConsecutiveHyphenLimit() {
+ return consecutiveHyphenLimit;
+ }
+
+ public void setConsecutiveHyphenLimit(Integer consecutiveHyphenLimit) {
+ this.consecutiveHyphenLimit = consecutiveHyphenLimit;
+ }
+
+ public boolean isDoNotHyphenateCaps() {
+ return doNotHyphenateCaps;
+ }
+
+ public void setDoNotHyphenateCaps(boolean doNotHyphenateCaps) {
+ this.doNotHyphenateCaps = doNotHyphenateCaps;
+ }
+
+ public Integer getHyphenationZone() {
+ return hyphenationZone;
+ }
+
+ public void setHyphenationZone(Integer hyphenationZone) {
+ this.hyphenationZone = hyphenationZone;
+ }
+
+ public String getDefaultHeaderId() {
+ return defaultHeaderId;
+ }
+
+ public void setDefaultHeaderId(String defaultHeaderId) {
+ this.defaultHeaderId = defaultHeaderId;
+ }
+
+ public String getDefaultFooterId() {
+ return defaultFooterId;
+ }
+
+ public void setDefaultFooterId(String defaultFooterId) {
+ this.defaultFooterId = defaultFooterId;
+ }
+
+ public String getEvenPageHeaderId() {
+ return evenPageHeaderId;
+ }
+
+ public void setEvenPageHeaderId(String evenPageHeaderId) {
+ this.evenPageHeaderId = evenPageHeaderId;
+ }
+
+ public String getEvenPageFooterId() {
+ return evenPageFooterId;
+ }
+
+ public void setEvenPageFooterId(String evenPageFooterId) {
+ this.evenPageFooterId = evenPageFooterId;
+ }
+
+ public String getFirstPageHeaderId() {
+ return firstPageHeaderId;
+ }
+
+ public void setFirstPageHeaderId(String firstPageHeaderId) {
+ this.firstPageHeaderId = firstPageHeaderId;
+ }
+
+ public String getFirstPageFooterId() {
+ return firstPageFooterId;
+ }
+
+ public void setFirstPageFooterId(String firstPageFooterId) {
+ this.firstPageFooterId = firstPageFooterId;
+ }
+
+ public boolean isUseFirstPageHeaderFooter() {
+ return useFirstPageHeaderFooter;
+ }
+
+ public void setUseFirstPageHeaderFooter(boolean useFirstPageHeaderFooter) {
+ this.useFirstPageHeaderFooter = useFirstPageHeaderFooter;
+ }
+
+ public boolean isEvenAndOddHeaders() {
+ return evenAndOddHeaders;
+ }
+
+ public void setEvenAndOddHeaders(boolean evenAndOddHeaders) {
+ this.evenAndOddHeaders = evenAndOddHeaders;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDrawingParam.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDrawingParam.java
new file mode 100644
index 00000000..e1015741
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDrawingParam.java
@@ -0,0 +1,53 @@
+package io.sc.platform.excel.univer.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+public class IDrawingParam extends IDrawingSearch {
+ private DrawingType drawingType;
+ private ITransformState transform;
+ private ITransformState[] transforms;
+
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean isMultiTransform;
+ private String groupId;
+
+ public DrawingType getDrawingType() {
+ return drawingType;
+ }
+
+ public void setDrawingType(DrawingType drawingType) {
+ this.drawingType = drawingType;
+ }
+
+ public ITransformState getTransform() {
+ return transform;
+ }
+
+ public void setTransform(ITransformState transform) {
+ this.transform = transform;
+ }
+
+ public ITransformState[] getTransforms() {
+ return transforms;
+ }
+
+ public void setTransforms(ITransformState[] transforms) {
+ this.transforms = transforms;
+ }
+
+ public boolean isMultiTransform() {
+ return isMultiTransform;
+ }
+
+ public void setMultiTransform(boolean multiTransform) {
+ isMultiTransform = multiTransform;
+ }
+
+ public String getGroupId() {
+ return groupId;
+ }
+
+ public void setGroupId(String groupId) {
+ this.groupId = groupId;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDrawingSearch.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDrawingSearch.java
new file mode 100644
index 00000000..e4466ba6
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDrawingSearch.java
@@ -0,0 +1,13 @@
+package io.sc.platform.excel.univer.model;
+
+public class IDrawingSearch extends IDrawingSpace {
+ private String drawingId;
+
+ public String getDrawingId() {
+ return drawingId;
+ }
+
+ public void setDrawingId(String drawingId) {
+ this.drawingId = drawingId;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDrawingSpace.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDrawingSpace.java
new file mode 100644
index 00000000..760f2c7b
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDrawingSpace.java
@@ -0,0 +1,22 @@
+package io.sc.platform.excel.univer.model;
+
+public class IDrawingSpace {
+ private String unitId;
+ private String subUnitId;
+
+ public String getUnitId() {
+ return unitId;
+ }
+
+ public void setUnitId(String unitId) {
+ this.unitId = unitId;
+ }
+
+ public String getSubUnitId() {
+ return subUnitId;
+ }
+
+ public void setSubUnitId(String subUnitId) {
+ this.subUnitId = subUnitId;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IFooterData.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IFooterData.java
new file mode 100644
index 00000000..c57e4c13
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IFooterData.java
@@ -0,0 +1,22 @@
+package io.sc.platform.excel.univer.model;
+
+public class IFooterData {
+ private String footerId;
+ private IDocumentBody body;
+
+ public String getFooterId() {
+ return footerId;
+ }
+
+ public void setFooterId(String footerId) {
+ this.footerId = footerId;
+ }
+
+ public IDocumentBody getBody() {
+ return body;
+ }
+
+ public void setBody(IDocumentBody body) {
+ this.body = body;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IFreeze.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IFreeze.java
new file mode 100644
index 00000000..41e3ec26
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IFreeze.java
@@ -0,0 +1,40 @@
+package io.sc.platform.excel.univer.model;
+
+public class IFreeze {
+ private Integer xSplit; // count of fixed cols
+ private Integer ySplit; // count of fixed rows
+ private Integer startRow; // scrollable start row
+ private Integer startColumn; // scrollable start column
+
+ public Integer getxSplit() {
+ return xSplit;
+ }
+
+ public void setxSplit(Integer xSplit) {
+ this.xSplit = xSplit;
+ }
+
+ public Integer getySplit() {
+ return ySplit;
+ }
+
+ public void setySplit(Integer ySplit) {
+ this.ySplit = ySplit;
+ }
+
+ public Integer getStartRow() {
+ return startRow;
+ }
+
+ public void setStartRow(Integer startRow) {
+ this.startRow = startRow;
+ }
+
+ public Integer getStartColumn() {
+ return startColumn;
+ }
+
+ public void setStartColumn(Integer startColumn) {
+ this.startColumn = startColumn;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IHeaderData.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IHeaderData.java
new file mode 100644
index 00000000..7c04bcc4
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IHeaderData.java
@@ -0,0 +1,22 @@
+package io.sc.platform.excel.univer.model;
+
+public class IHeaderData {
+ private String headerId;
+ private IDocumentBody body;
+
+ public String getHeaderId() {
+ return headerId;
+ }
+
+ public void setHeaderId(String headerId) {
+ this.headerId = headerId;
+ }
+
+ public IDocumentBody getBody() {
+ return body;
+ }
+
+ public void setBody(IDocumentBody body) {
+ this.body = body;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IIndentStart.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IIndentStart.java
new file mode 100644
index 00000000..4029a3d1
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IIndentStart.java
@@ -0,0 +1,49 @@
+package io.sc.platform.excel.univer.model;
+
+public class IIndentStart {
+ private INumberUnit indentFirstLine;
+ private INumberUnit hanging;
+ private INumberUnit indentStart;
+ private ITabStop[] tabStops;
+ private INumberUnit indentEnd;
+
+ public INumberUnit getIndentFirstLine() {
+ return indentFirstLine;
+ }
+
+ public void setIndentFirstLine(INumberUnit indentFirstLine) {
+ this.indentFirstLine = indentFirstLine;
+ }
+
+ public INumberUnit getHanging() {
+ return hanging;
+ }
+
+ public void setHanging(INumberUnit hanging) {
+ this.hanging = hanging;
+ }
+
+ public INumberUnit getIndentStart() {
+ return indentStart;
+ }
+
+ public void setIndentStart(INumberUnit indentStart) {
+ this.indentStart = indentStart;
+ }
+
+ public ITabStop[] getTabStops() {
+ return tabStops;
+ }
+
+ public void setTabStops(ITabStop[] tabStops) {
+ this.tabStops = tabStops;
+ }
+
+ public INumberUnit getIndentEnd() {
+ return indentEnd;
+ }
+
+ public void setIndentEnd(INumberUnit indentEnd) {
+ this.indentEnd = indentEnd;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IListData.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IListData.java
new file mode 100644
index 00000000..54dcc4d0
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IListData.java
@@ -0,0 +1,22 @@
+package io.sc.platform.excel.univer.model;
+
+public class IListData {
+ private String listType;
+ private INestingLevel[] nestingLevel;
+
+ public String getListType() {
+ return listType;
+ }
+
+ public void setListType(String listType) {
+ this.listType = listType;
+ }
+
+ public INestingLevel[] getNestingLevel() {
+ return nestingLevel;
+ }
+
+ public void setNestingLevel(INestingLevel[] nestingLevel) {
+ this.nestingLevel = nestingLevel;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/INestingLevel.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/INestingLevel.java
new file mode 100644
index 00000000..b20890b2
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/INestingLevel.java
@@ -0,0 +1,67 @@
+package io.sc.platform.excel.univer.model;
+
+public class INestingLevel {
+ private IParagraphStyle paragraphProperties;
+ private BulletAlignment bulletAlignment;
+ private String glyphFormat;
+ private ITextStyle textStyle;
+ private Integer startNumber;
+ private ListGlyphType glyphType;
+ private String glyphSymbol;
+
+ public IParagraphStyle getParagraphProperties() {
+ return paragraphProperties;
+ }
+
+ public void setParagraphProperties(IParagraphStyle paragraphProperties) {
+ this.paragraphProperties = paragraphProperties;
+ }
+
+ public BulletAlignment getBulletAlignment() {
+ return bulletAlignment;
+ }
+
+ public void setBulletAlignment(BulletAlignment bulletAlignment) {
+ this.bulletAlignment = bulletAlignment;
+ }
+
+ public String getGlyphFormat() {
+ return glyphFormat;
+ }
+
+ public void setGlyphFormat(String glyphFormat) {
+ this.glyphFormat = glyphFormat;
+ }
+
+ public ITextStyle getTextStyle() {
+ return textStyle;
+ }
+
+ public void setTextStyle(ITextStyle textStyle) {
+ this.textStyle = textStyle;
+ }
+
+ public Integer getStartNumber() {
+ return startNumber;
+ }
+
+ public void setStartNumber(Integer startNumber) {
+ this.startNumber = startNumber;
+ }
+
+ public ListGlyphType getGlyphType() {
+ return glyphType;
+ }
+
+ public void setGlyphType(ListGlyphType glyphType) {
+ this.glyphType = glyphType;
+ }
+
+ public String getGlyphSymbol() {
+ return glyphSymbol;
+ }
+
+ public void setGlyphSymbol(String glyphSymbol) {
+ this.glyphSymbol = glyphSymbol;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/INumberUnit.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/INumberUnit.java
new file mode 100644
index 00000000..d77d572b
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/INumberUnit.java
@@ -0,0 +1,22 @@
+package io.sc.platform.excel.univer.model;
+
+public class INumberUnit {
+ private Integer v;
+ private NumberUnitType u;
+
+ public Integer getV() {
+ return v;
+ }
+
+ public void setV(Integer v) {
+ this.v = v;
+ }
+
+ public NumberUnitType getU() {
+ return u;
+ }
+
+ public void setU(NumberUnitType u) {
+ this.u = u;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IObjectPositionH.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IObjectPositionH.java
new file mode 100644
index 00000000..dd0f58da
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IObjectPositionH.java
@@ -0,0 +1,40 @@
+package io.sc.platform.excel.univer.model;
+
+public class IObjectPositionH {
+ private ObjectRelativeFromH relativeFrom;
+ private AlignTypeH align;
+ private Integer posOffset;
+ private Integer percent;
+
+ public ObjectRelativeFromH getRelativeFrom() {
+ return relativeFrom;
+ }
+
+ public void setRelativeFrom(ObjectRelativeFromH relativeFrom) {
+ this.relativeFrom = relativeFrom;
+ }
+
+ public AlignTypeH getAlign() {
+ return align;
+ }
+
+ public void setAlign(AlignTypeH align) {
+ this.align = align;
+ }
+
+ public Integer getPosOffset() {
+ return posOffset;
+ }
+
+ public void setPosOffset(Integer posOffset) {
+ this.posOffset = posOffset;
+ }
+
+ public Integer getPercent() {
+ return percent;
+ }
+
+ public void setPercent(Integer percent) {
+ this.percent = percent;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IObjectPositionV.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IObjectPositionV.java
new file mode 100644
index 00000000..69dbf149
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IObjectPositionV.java
@@ -0,0 +1,40 @@
+package io.sc.platform.excel.univer.model;
+
+public class IObjectPositionV {
+ private ObjectRelativeFromV relativeFrom;
+ private AlignTypeV align;
+ private Integer posOffset;
+ private Integer percent;
+
+ public ObjectRelativeFromV getRelativeFrom() {
+ return relativeFrom;
+ }
+
+ public void setRelativeFrom(ObjectRelativeFromV relativeFrom) {
+ this.relativeFrom = relativeFrom;
+ }
+
+ public AlignTypeV getAlign() {
+ return align;
+ }
+
+ public void setAlign(AlignTypeV align) {
+ this.align = align;
+ }
+
+ public Integer getPosOffset() {
+ return posOffset;
+ }
+
+ public void setPosOffset(Integer posOffset) {
+ this.posOffset = posOffset;
+ }
+
+ public Integer getPercent() {
+ return percent;
+ }
+
+ public void setPercent(Integer percent) {
+ this.percent = percent;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IPaddingData.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IPaddingData.java
new file mode 100644
index 00000000..4288c8f5
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IPaddingData.java
@@ -0,0 +1,40 @@
+package io.sc.platform.excel.univer.model;
+
+public class IPaddingData {
+ private Integer t;
+ private Integer r;
+ private Integer b;
+ private Integer l;
+
+ public Integer getT() {
+ return t;
+ }
+
+ public void setT(Integer t) {
+ this.t = t;
+ }
+
+ public Integer getR() {
+ return r;
+ }
+
+ public void setR(Integer r) {
+ this.r = r;
+ }
+
+ public Integer getB() {
+ return b;
+ }
+
+ public void setB(Integer b) {
+ this.b = b;
+ }
+
+ public Integer getL() {
+ return l;
+ }
+
+ public void setL(Integer l) {
+ this.l = l;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IParagraph.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IParagraph.java
new file mode 100644
index 00000000..d4c3d429
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IParagraph.java
@@ -0,0 +1,31 @@
+package io.sc.platform.excel.univer.model;
+
+public class IParagraph {
+ private Integer startIndex;
+ private IParagraphStyle paragraphStyle;
+ private IBullet bullet;
+
+ public Integer getStartIndex() {
+ return startIndex;
+ }
+
+ public void setStartIndex(Integer startIndex) {
+ this.startIndex = startIndex;
+ }
+
+ public IParagraphStyle getParagraphStyle() {
+ return paragraphStyle;
+ }
+
+ public void setParagraphStyle(IParagraphStyle paragraphStyle) {
+ this.paragraphStyle = paragraphStyle;
+ }
+
+ public IBullet getBullet() {
+ return bullet;
+ }
+
+ public void setBullet(IBullet bullet) {
+ this.bullet = bullet;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IParagraphBorder.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IParagraphBorder.java
new file mode 100644
index 00000000..c1f164cf
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IParagraphBorder.java
@@ -0,0 +1,13 @@
+package io.sc.platform.excel.univer.model;
+
+public class IParagraphBorder extends IDocsBorder {
+ private Integer padding;
+
+ public Integer getPadding() {
+ return padding;
+ }
+
+ public void setPadding(Integer padding) {
+ this.padding = padding;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IParagraphProperties.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IParagraphProperties.java
new file mode 100644
index 00000000..62cb7def
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IParagraphProperties.java
@@ -0,0 +1,199 @@
+package io.sc.platform.excel.univer.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+public class IParagraphProperties extends IIndentStart {
+ private String headingId;
+ private NamedStyleType namedStyleType;
+ private HorizontalAlign horizontalAlign;
+ private Integer lineSpacing;
+ private TextDirection direction;
+ private SpacingRule spacingRule;
+
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean snapToGrid;
+ private INumberUnit spaceAbove;
+ private INumberUnit spaceBelow;
+ private IParagraphBorder borderBetween;
+ private IParagraphBorder borderTop;
+ private IParagraphBorder borderBottom;
+ private IParagraphBorder borderLeft;
+ private IParagraphBorder borderRight;
+
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean keepLines;
+
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean keepNext;
+
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean wordWrap;
+
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean widowControl;
+
+ private IShading shading;
+
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean suppressHyphenation;
+
+ public String getHeadingId() {
+ return headingId;
+ }
+
+ public void setHeadingId(String headingId) {
+ this.headingId = headingId;
+ }
+
+ public NamedStyleType getNamedStyleType() {
+ return namedStyleType;
+ }
+
+ public void setNamedStyleType(NamedStyleType namedStyleType) {
+ this.namedStyleType = namedStyleType;
+ }
+
+ public HorizontalAlign getHorizontalAlign() {
+ return horizontalAlign;
+ }
+
+ public void setHorizontalAlign(HorizontalAlign horizontalAlign) {
+ this.horizontalAlign = horizontalAlign;
+ }
+
+ public Integer getLineSpacing() {
+ return lineSpacing;
+ }
+
+ public void setLineSpacing(Integer lineSpacing) {
+ this.lineSpacing = lineSpacing;
+ }
+
+ public TextDirection getDirection() {
+ return direction;
+ }
+
+ public void setDirection(TextDirection direction) {
+ this.direction = direction;
+ }
+
+ public SpacingRule getSpacingRule() {
+ return spacingRule;
+ }
+
+ public void setSpacingRule(SpacingRule spacingRule) {
+ this.spacingRule = spacingRule;
+ }
+
+ public boolean isSnapToGrid() {
+ return snapToGrid;
+ }
+
+ public void setSnapToGrid(boolean snapToGrid) {
+ this.snapToGrid = snapToGrid;
+ }
+
+ public INumberUnit getSpaceAbove() {
+ return spaceAbove;
+ }
+
+ public void setSpaceAbove(INumberUnit spaceAbove) {
+ this.spaceAbove = spaceAbove;
+ }
+
+ public INumberUnit getSpaceBelow() {
+ return spaceBelow;
+ }
+
+ public void setSpaceBelow(INumberUnit spaceBelow) {
+ this.spaceBelow = spaceBelow;
+ }
+
+ public IParagraphBorder getBorderBetween() {
+ return borderBetween;
+ }
+
+ public void setBorderBetween(IParagraphBorder borderBetween) {
+ this.borderBetween = borderBetween;
+ }
+
+ public IParagraphBorder getBorderTop() {
+ return borderTop;
+ }
+
+ public void setBorderTop(IParagraphBorder borderTop) {
+ this.borderTop = borderTop;
+ }
+
+ public IParagraphBorder getBorderBottom() {
+ return borderBottom;
+ }
+
+ public void setBorderBottom(IParagraphBorder borderBottom) {
+ this.borderBottom = borderBottom;
+ }
+
+ public IParagraphBorder getBorderLeft() {
+ return borderLeft;
+ }
+
+ public void setBorderLeft(IParagraphBorder borderLeft) {
+ this.borderLeft = borderLeft;
+ }
+
+ public IParagraphBorder getBorderRight() {
+ return borderRight;
+ }
+
+ public void setBorderRight(IParagraphBorder borderRight) {
+ this.borderRight = borderRight;
+ }
+
+ public boolean isKeepLines() {
+ return keepLines;
+ }
+
+ public void setKeepLines(boolean keepLines) {
+ this.keepLines = keepLines;
+ }
+
+ public boolean isKeepNext() {
+ return keepNext;
+ }
+
+ public void setKeepNext(boolean keepNext) {
+ this.keepNext = keepNext;
+ }
+
+ public boolean isWordWrap() {
+ return wordWrap;
+ }
+
+ public void setWordWrap(boolean wordWrap) {
+ this.wordWrap = wordWrap;
+ }
+
+ public boolean isWidowControl() {
+ return widowControl;
+ }
+
+ public void setWidowControl(boolean widowControl) {
+ this.widowControl = widowControl;
+ }
+
+ public IShading getShading() {
+ return shading;
+ }
+
+ public void setShading(IShading shading) {
+ this.shading = shading;
+ }
+
+ public boolean isSuppressHyphenation() {
+ return suppressHyphenation;
+ }
+
+ public void setSuppressHyphenation(boolean suppressHyphenation) {
+ this.suppressHyphenation = suppressHyphenation;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IParagraphStyle.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IParagraphStyle.java
new file mode 100644
index 00000000..23a82eae
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IParagraphStyle.java
@@ -0,0 +1,13 @@
+package io.sc.platform.excel.univer.model;
+
+public class IParagraphStyle extends IParagraphProperties {
+ private ITextStyle textStyle;
+
+ public ITextStyle getTextStyle() {
+ return textStyle;
+ }
+
+ public void setTextStyle(ITextStyle textStyle) {
+ this.textStyle = textStyle;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IRange.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IRange.java
new file mode 100644
index 00000000..b7e9d477
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IRange.java
@@ -0,0 +1,112 @@
+package io.sc.platform.excel.univer.model;
+
+public class IRange {
+ private RangeType rangeType;
+ private AbsoluteRefType startAbsoluteRefType;
+ private AbsoluteRefType endAbsoluteRefType;
+
+ /**
+ * Id of the Workbook the range belongs to.
+ * When this field is not defined, it should be considered as the range in the currently activated worksheet.
+ */
+ private String unitId;
+ /**
+ * Id of the Worksheet the range belongs to.
+ * When this field is not defined, it should be considered as the range in the currently activated worksheet.
+ */
+ private String sheetId;
+
+ /**
+ * The start row (inclusive) of the range
+ * startRow
+ */
+ private int startRow;
+ /**
+ * The end row (exclusive) of the range
+ * endRow
+ */
+ private int endRow;
+
+ /**
+ * The start column (inclusive) of the range
+ * startColumn
+ */
+ private int startColumn;
+ /**
+ * The end column (exclusive) of the range
+ * endColumn
+ */
+ private int endColumn;
+
+ public RangeType getRangeType() {
+ return rangeType;
+ }
+
+ public void setRangeType(RangeType rangeType) {
+ this.rangeType = rangeType;
+ }
+
+ public AbsoluteRefType getStartAbsoluteRefType() {
+ return startAbsoluteRefType;
+ }
+
+ public void setStartAbsoluteRefType(AbsoluteRefType startAbsoluteRefType) {
+ this.startAbsoluteRefType = startAbsoluteRefType;
+ }
+
+ public AbsoluteRefType getEndAbsoluteRefType() {
+ return endAbsoluteRefType;
+ }
+
+ public void setEndAbsoluteRefType(AbsoluteRefType endAbsoluteRefType) {
+ this.endAbsoluteRefType = endAbsoluteRefType;
+ }
+
+ public String getUnitId() {
+ return unitId;
+ }
+
+ public void setUnitId(String unitId) {
+ this.unitId = unitId;
+ }
+
+ public String getSheetId() {
+ return sheetId;
+ }
+
+ public void setSheetId(String sheetId) {
+ this.sheetId = sheetId;
+ }
+
+ public int getStartRow() {
+ return startRow;
+ }
+
+ public void setStartRow(int startRow) {
+ this.startRow = startRow;
+ }
+
+ public int getEndRow() {
+ return endRow;
+ }
+
+ public void setEndRow(int endRow) {
+ this.endRow = endRow;
+ }
+
+ public int getStartColumn() {
+ return startColumn;
+ }
+
+ public void setStartColumn(int startColumn) {
+ this.startColumn = startColumn;
+ }
+
+ public int getEndColumn() {
+ return endColumn;
+ }
+
+ public void setEndColumn(int endColumn) {
+ this.endColumn = endColumn;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IRangeLocation.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IRangeLocation.java
new file mode 100644
index 00000000..74303b13
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IRangeLocation.java
@@ -0,0 +1,30 @@
+package io.sc.platform.excel.univer.model;
+
+public class IRangeLocation {
+ /**
+ * Id of the Workbook the range belongs to.
+ * When this field is not defined, it should be considered as the range in the currently activated worksheet.
+ */
+ private String unitId;
+ /**
+ * Id of the Worksheet the range belongs to.
+ * When this field is not defined, it should be considered as the range in the currently activated worksheet.
+ */
+ private String sheetId;
+
+ public String getUnitId() {
+ return unitId;
+ }
+
+ public void setUnitId(String unitId) {
+ this.unitId = unitId;
+ }
+
+ public String getSheetId() {
+ return sheetId;
+ }
+
+ public void setSheetId(String sheetId) {
+ this.sheetId = sheetId;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IReferenceSource.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IReferenceSource.java
new file mode 100644
index 00000000..64afed61
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IReferenceSource.java
@@ -0,0 +1,69 @@
+package io.sc.platform.excel.univer.model;
+
+import java.util.Map;
+
+public class IReferenceSource {
+ private Map tableSource;
+ private Map footers;
+ private Map headers;
+ private Map lists;
+ private Map drawings;
+ private String[] drawingsOrder;
+ private String[] headerFooterDrawingsOrder;
+
+ public Map getTableSource() {
+ return tableSource;
+ }
+
+ public void setTableSource(Map tableSource) {
+ this.tableSource = tableSource;
+ }
+
+ public Map getFooters() {
+ return footers;
+ }
+
+ public void setFooters(Map footers) {
+ this.footers = footers;
+ }
+
+ public Map getHeaders() {
+ return headers;
+ }
+
+ public void setHeaders(Map headers) {
+ this.headers = headers;
+ }
+
+ public Map getLists() {
+ return lists;
+ }
+
+ public void setLists(Map lists) {
+ this.lists = lists;
+ }
+
+ public Map getDrawings() {
+ return drawings;
+ }
+
+ public void setDrawings(Map drawings) {
+ this.drawings = drawings;
+ }
+
+ public String[] getDrawingsOrder() {
+ return drawingsOrder;
+ }
+
+ public void setDrawingsOrder(String[] drawingsOrder) {
+ this.drawingsOrder = drawingsOrder;
+ }
+
+ public String[] getHeaderFooterDrawingsOrder() {
+ return headerFooterDrawingsOrder;
+ }
+
+ public void setHeaderFooterDrawingsOrder(String[] headerFooterDrawingsOrder) {
+ this.headerFooterDrawingsOrder = headerFooterDrawingsOrder;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IResource.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IResource.java
new file mode 100644
index 00000000..0b703fa9
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IResource.java
@@ -0,0 +1,31 @@
+package io.sc.platform.excel.univer.model;
+
+public class IResource {
+ private String id;
+ private String name;
+ private String data;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getData() {
+ return data;
+ }
+
+ public void setData(String data) {
+ this.data = data;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IRowData.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IRowData.java
new file mode 100644
index 00000000..8979d819
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IRowData.java
@@ -0,0 +1,82 @@
+package io.sc.platform.excel.univer.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.util.Map;
+
+public class IRowData {
+ /**
+ * height in pixel
+ */
+ private Integer h;
+ /**
+ * is current row self-adaptive to its content, use `ah` to set row height when true, else use `h`.
+ */
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean ia;
+ /**
+ * auto height
+ */
+ private Integer ah;
+ /**
+ * hidden
+ */
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean hd;
+ /**
+ * style id
+ */
+ private Object s;
+ /**
+ * User stored custom fields
+ */
+ private Map custom;
+
+ public Integer getH() {
+ return h;
+ }
+
+ public void setH(Integer h) {
+ this.h = h;
+ }
+
+ public boolean isIa() {
+ return ia;
+ }
+
+ public void setIa(boolean ia) {
+ this.ia = ia;
+ }
+
+ public Integer getAh() {
+ return ah;
+ }
+
+ public void setAh(Integer ah) {
+ this.ah = ah;
+ }
+
+ public boolean isHd() {
+ return hd;
+ }
+
+ public void setHd(boolean hd) {
+ this.hd = hd;
+ }
+
+ public Object getS() {
+ return s;
+ }
+
+ public void setS(Object s) {
+ this.s = s;
+ }
+
+ public Map getCustom() {
+ return custom;
+ }
+
+ public void setCustom(Map custom) {
+ this.custom = custom;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IRowHeader.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IRowHeader.java
new file mode 100644
index 00000000..c51f997e
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IRowHeader.java
@@ -0,0 +1,26 @@
+package io.sc.platform.excel.univer.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+public class IRowHeader {
+ private Integer width;
+
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean hidden;
+
+ public Integer getWidth() {
+ return width;
+ }
+
+ public void setWidth(Integer width) {
+ this.width = width;
+ }
+
+ public boolean isHidden() {
+ return hidden;
+ }
+
+ public void setHidden(boolean hidden) {
+ this.hidden = hidden;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ISectionBreak.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ISectionBreak.java
new file mode 100644
index 00000000..fc6e6a06
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ISectionBreak.java
@@ -0,0 +1,275 @@
+package io.sc.platform.excel.univer.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+public class ISectionBreak {
+ private Integer startIndex;
+
+ private Integer marginTop;
+ private Integer marginBottom;
+ private Integer marginRight;
+ private Integer marginLeft;
+
+ private Integer pageNumberStart;
+ private ISize pageSize;
+ private PageOrientType pageOrient;
+ private DocumentFlavor documentFlavor;
+ private Integer marginHeader;
+ private Integer marginFooter;
+ private IDocumentRenderConfig renderConfig;
+
+ private Integer charSpace;
+ private Integer linePitch;
+ private GridType gridType;
+ private ISectionColumnProperties[] columnProperties;
+ private ColumnSeparatorType columnSeparatorType;
+ private TextDirection contentDirection;
+ private SectionType sectionType;
+ private SectionType sectionTypeNext;
+ private TextDirectionType textDirection;
+
+ private String defaultHeaderId;
+ private String defaultFooterId;
+ private String evenPageHeaderId;
+ private String evenPageFooterId;
+ private String firstPageHeaderId;
+ private String firstPageFooterId;
+
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean useFirstPageHeaderFooter;
+
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean evenAndOddHeaders;
+
+ public Integer getStartIndex() {
+ return startIndex;
+ }
+
+ public void setStartIndex(Integer startIndex) {
+ this.startIndex = startIndex;
+ }
+
+ public Integer getMarginTop() {
+ return marginTop;
+ }
+
+ public void setMarginTop(Integer marginTop) {
+ this.marginTop = marginTop;
+ }
+
+ public Integer getMarginBottom() {
+ return marginBottom;
+ }
+
+ public void setMarginBottom(Integer marginBottom) {
+ this.marginBottom = marginBottom;
+ }
+
+ public Integer getMarginRight() {
+ return marginRight;
+ }
+
+ public void setMarginRight(Integer marginRight) {
+ this.marginRight = marginRight;
+ }
+
+ public Integer getMarginLeft() {
+ return marginLeft;
+ }
+
+ public void setMarginLeft(Integer marginLeft) {
+ this.marginLeft = marginLeft;
+ }
+
+ public Integer getPageNumberStart() {
+ return pageNumberStart;
+ }
+
+ public void setPageNumberStart(Integer pageNumberStart) {
+ this.pageNumberStart = pageNumberStart;
+ }
+
+ public ISize getPageSize() {
+ return pageSize;
+ }
+
+ public void setPageSize(ISize pageSize) {
+ this.pageSize = pageSize;
+ }
+
+ public PageOrientType getPageOrient() {
+ return pageOrient;
+ }
+
+ public void setPageOrient(PageOrientType pageOrient) {
+ this.pageOrient = pageOrient;
+ }
+
+ public DocumentFlavor getDocumentFlavor() {
+ return documentFlavor;
+ }
+
+ public void setDocumentFlavor(DocumentFlavor documentFlavor) {
+ this.documentFlavor = documentFlavor;
+ }
+
+ public Integer getMarginHeader() {
+ return marginHeader;
+ }
+
+ public void setMarginHeader(Integer marginHeader) {
+ this.marginHeader = marginHeader;
+ }
+
+ public Integer getMarginFooter() {
+ return marginFooter;
+ }
+
+ public void setMarginFooter(Integer marginFooter) {
+ this.marginFooter = marginFooter;
+ }
+
+ public IDocumentRenderConfig getRenderConfig() {
+ return renderConfig;
+ }
+
+ public void setRenderConfig(IDocumentRenderConfig renderConfig) {
+ this.renderConfig = renderConfig;
+ }
+
+ public Integer getCharSpace() {
+ return charSpace;
+ }
+
+ public void setCharSpace(Integer charSpace) {
+ this.charSpace = charSpace;
+ }
+
+ public Integer getLinePitch() {
+ return linePitch;
+ }
+
+ public void setLinePitch(Integer linePitch) {
+ this.linePitch = linePitch;
+ }
+
+ public GridType getGridType() {
+ return gridType;
+ }
+
+ public void setGridType(GridType gridType) {
+ this.gridType = gridType;
+ }
+
+ public ISectionColumnProperties[] getColumnProperties() {
+ return columnProperties;
+ }
+
+ public void setColumnProperties(ISectionColumnProperties[] columnProperties) {
+ this.columnProperties = columnProperties;
+ }
+
+ public ColumnSeparatorType getColumnSeparatorType() {
+ return columnSeparatorType;
+ }
+
+ public void setColumnSeparatorType(ColumnSeparatorType columnSeparatorType) {
+ this.columnSeparatorType = columnSeparatorType;
+ }
+
+ public TextDirection getContentDirection() {
+ return contentDirection;
+ }
+
+ public void setContentDirection(TextDirection contentDirection) {
+ this.contentDirection = contentDirection;
+ }
+
+ public SectionType getSectionType() {
+ return sectionType;
+ }
+
+ public void setSectionType(SectionType sectionType) {
+ this.sectionType = sectionType;
+ }
+
+ public SectionType getSectionTypeNext() {
+ return sectionTypeNext;
+ }
+
+ public void setSectionTypeNext(SectionType sectionTypeNext) {
+ this.sectionTypeNext = sectionTypeNext;
+ }
+
+ public TextDirectionType getTextDirection() {
+ return textDirection;
+ }
+
+ public void setTextDirection(TextDirectionType textDirection) {
+ this.textDirection = textDirection;
+ }
+
+ public String getDefaultHeaderId() {
+ return defaultHeaderId;
+ }
+
+ public void setDefaultHeaderId(String defaultHeaderId) {
+ this.defaultHeaderId = defaultHeaderId;
+ }
+
+ public String getDefaultFooterId() {
+ return defaultFooterId;
+ }
+
+ public void setDefaultFooterId(String defaultFooterId) {
+ this.defaultFooterId = defaultFooterId;
+ }
+
+ public String getEvenPageHeaderId() {
+ return evenPageHeaderId;
+ }
+
+ public void setEvenPageHeaderId(String evenPageHeaderId) {
+ this.evenPageHeaderId = evenPageHeaderId;
+ }
+
+ public String getEvenPageFooterId() {
+ return evenPageFooterId;
+ }
+
+ public void setEvenPageFooterId(String evenPageFooterId) {
+ this.evenPageFooterId = evenPageFooterId;
+ }
+
+ public String getFirstPageHeaderId() {
+ return firstPageHeaderId;
+ }
+
+ public void setFirstPageHeaderId(String firstPageHeaderId) {
+ this.firstPageHeaderId = firstPageHeaderId;
+ }
+
+ public String getFirstPageFooterId() {
+ return firstPageFooterId;
+ }
+
+ public void setFirstPageFooterId(String firstPageFooterId) {
+ this.firstPageFooterId = firstPageFooterId;
+ }
+
+ public boolean isUseFirstPageHeaderFooter() {
+ return useFirstPageHeaderFooter;
+ }
+
+ public void setUseFirstPageHeaderFooter(boolean useFirstPageHeaderFooter) {
+ this.useFirstPageHeaderFooter = useFirstPageHeaderFooter;
+ }
+
+ public boolean isEvenAndOddHeaders() {
+ return evenAndOddHeaders;
+ }
+
+ public void setEvenAndOddHeaders(boolean evenAndOddHeaders) {
+ this.evenAndOddHeaders = evenAndOddHeaders;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ISectionColumnProperties.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ISectionColumnProperties.java
new file mode 100644
index 00000000..4a911bbb
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ISectionColumnProperties.java
@@ -0,0 +1,22 @@
+package io.sc.platform.excel.univer.model;
+
+public class ISectionColumnProperties {
+ private Integer width;
+ private Integer paddingEnd;
+
+ public Integer getWidth() {
+ return width;
+ }
+
+ public void setWidth(Integer width) {
+ this.width = width;
+ }
+
+ public Integer getPaddingEnd() {
+ return paddingEnd;
+ }
+
+ public void setPaddingEnd(Integer paddingEnd) {
+ this.paddingEnd = paddingEnd;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IShading.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IShading.java
new file mode 100644
index 00000000..636b12a3
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IShading.java
@@ -0,0 +1,13 @@
+package io.sc.platform.excel.univer.model;
+
+public class IShading {
+ private IColorStyle backgroundColor;
+
+ public IColorStyle getBackgroundColor() {
+ return backgroundColor;
+ }
+
+ public void setBackgroundColor(IColorStyle backgroundColor) {
+ this.backgroundColor = backgroundColor;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ISize.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ISize.java
new file mode 100644
index 00000000..c3a3145f
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ISize.java
@@ -0,0 +1,22 @@
+package io.sc.platform.excel.univer.model;
+
+public class ISize {
+ private Integer width;
+ private Integer height;
+
+ public Integer getWidth() {
+ return width;
+ }
+
+ public void setWidth(Integer width) {
+ this.width = width;
+ }
+
+ public Integer getHeight() {
+ return height;
+ }
+
+ public void setHeight(Integer height) {
+ this.height = height;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IStyleBase.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IStyleBase.java
new file mode 100644
index 00000000..72cd878b
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IStyleBase.java
@@ -0,0 +1,127 @@
+package io.sc.platform.excel.univer.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+public class IStyleBase {
+ private String ff; // fontFamily
+ private Integer fs; //fontSize pt
+
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean it; // italic
+
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean bl; //bold
+ private ITextDecoration ul; //underline
+ private ITextDecoration bbl;//bottomBorerLine
+ private ITextDecoration st; //strikethrough
+ private ITextDecoration ol; //overline
+ private IColorStyle bg; //background
+ private IBorderData bd; //border
+ private IColorStyle cl; //foreground
+ private BaselineOffset va; //Subscript 下标 /Superscript上标 Text
+ private String n; //Numfmt pattern
+
+ public String getFf() {
+ return ff;
+ }
+
+ public void setFf(String ff) {
+ this.ff = ff;
+ }
+
+ public Integer getFs() {
+ return fs;
+ }
+
+ public void setFs(Integer fs) {
+ this.fs = fs;
+ }
+
+ public boolean isIt() {
+ return it;
+ }
+
+ public void setIt(boolean it) {
+ this.it = it;
+ }
+
+ public boolean isBl() {
+ return bl;
+ }
+
+ public void setBl(boolean bl) {
+ this.bl = bl;
+ }
+
+ public ITextDecoration getUl() {
+ return ul;
+ }
+
+ public void setUl(ITextDecoration ul) {
+ this.ul = ul;
+ }
+
+ public ITextDecoration getBbl() {
+ return bbl;
+ }
+
+ public void setBbl(ITextDecoration bbl) {
+ this.bbl = bbl;
+ }
+
+ public ITextDecoration getSt() {
+ return st;
+ }
+
+ public void setSt(ITextDecoration st) {
+ this.st = st;
+ }
+
+ public ITextDecoration getOl() {
+ return ol;
+ }
+
+ public void setOl(ITextDecoration ol) {
+ this.ol = ol;
+ }
+
+ public IColorStyle getBg() {
+ return bg;
+ }
+
+ public void setBg(IColorStyle bg) {
+ this.bg = bg;
+ }
+
+ public IBorderData getBd() {
+ return bd;
+ }
+
+ public void setBd(IBorderData bd) {
+ this.bd = bd;
+ }
+
+ public IColorStyle getCl() {
+ return cl;
+ }
+
+ public void setCl(IColorStyle cl) {
+ this.cl = cl;
+ }
+
+ public BaselineOffset getVa() {
+ return va;
+ }
+
+ public void setVa(BaselineOffset va) {
+ this.va = va;
+ }
+
+ public String getN() {
+ return n;
+ }
+
+ public void setN(String n) {
+ this.n = n;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IStyleData.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IStyleData.java
new file mode 100644
index 00000000..0db7cbe4
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IStyleData.java
@@ -0,0 +1,58 @@
+package io.sc.platform.excel.univer.model;
+
+public class IStyleData {
+ private ITextRotation tr; //textRotation
+ private TextDirection td; //textDirection
+ private HorizontalAlign ht; //horizontalAlignment
+ private VerticalAlign vt; //verticalAlignment
+ private WrapStrategy tb; //wrapStrategy
+ private IPaddingData pd; //padding
+
+ public ITextRotation getTr() {
+ return tr;
+ }
+
+ public void setTr(ITextRotation tr) {
+ this.tr = tr;
+ }
+
+ public TextDirection getTd() {
+ return td;
+ }
+
+ public void setTd(TextDirection td) {
+ this.td = td;
+ }
+
+ public HorizontalAlign getHt() {
+ return ht;
+ }
+
+ public void setHt(HorizontalAlign ht) {
+ this.ht = ht;
+ }
+
+ public VerticalAlign getVt() {
+ return vt;
+ }
+
+ public void setVt(VerticalAlign vt) {
+ this.vt = vt;
+ }
+
+ public WrapStrategy getTb() {
+ return tb;
+ }
+
+ public void setTb(WrapStrategy tb) {
+ this.tb = tb;
+ }
+
+ public IPaddingData getPd() {
+ return pd;
+ }
+
+ public void setPd(IPaddingData pd) {
+ this.pd = pd;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITabStop.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITabStop.java
new file mode 100644
index 00000000..515a42e8
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITabStop.java
@@ -0,0 +1,22 @@
+package io.sc.platform.excel.univer.model;
+
+public class ITabStop {
+ private Integer offset;
+ private TabStopAlignment alignment;
+
+ public Integer getOffset() {
+ return offset;
+ }
+
+ public void setOffset(Integer offset) {
+ this.offset = offset;
+ }
+
+ public TabStopAlignment getAlignment() {
+ return alignment;
+ }
+
+ public void setAlignment(TabStopAlignment alignment) {
+ this.alignment = alignment;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITable.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITable.java
new file mode 100644
index 00000000..76a42cae
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITable.java
@@ -0,0 +1,124 @@
+package io.sc.platform.excel.univer.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+public class ITable {
+ private ITableRow[] tableRows;
+ private ITableColumn[] tableColumns;
+ private TableAlignmentType align;
+ private INumberUnit indent;
+ private TableTextWrapType textWrap;
+ private ITableAnchor position;
+ private IDistFromText dist;
+ private IWidthInTableSize size;
+ private String tableId;
+ private ITableCellMargin cellMargin;
+ private TableLayoutType layout;
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean overlap;
+ private String description;
+
+ public ITableRow[] getTableRows() {
+ return tableRows;
+ }
+
+ public void setTableRows(ITableRow[] tableRows) {
+ this.tableRows = tableRows;
+ }
+
+ public ITableColumn[] getTableColumns() {
+ return tableColumns;
+ }
+
+ public void setTableColumns(ITableColumn[] tableColumns) {
+ this.tableColumns = tableColumns;
+ }
+
+ public TableAlignmentType getAlign() {
+ return align;
+ }
+
+ public void setAlign(TableAlignmentType align) {
+ this.align = align;
+ }
+
+ public INumberUnit getIndent() {
+ return indent;
+ }
+
+ public void setIndent(INumberUnit indent) {
+ this.indent = indent;
+ }
+
+ public TableTextWrapType getTextWrap() {
+ return textWrap;
+ }
+
+ public void setTextWrap(TableTextWrapType textWrap) {
+ this.textWrap = textWrap;
+ }
+
+ public ITableAnchor getPosition() {
+ return position;
+ }
+
+ public void setPosition(ITableAnchor position) {
+ this.position = position;
+ }
+
+ public IDistFromText getDist() {
+ return dist;
+ }
+
+ public void setDist(IDistFromText dist) {
+ this.dist = dist;
+ }
+
+ public IWidthInTableSize getSize() {
+ return size;
+ }
+
+ public void setSize(IWidthInTableSize size) {
+ this.size = size;
+ }
+
+ public String getTableId() {
+ return tableId;
+ }
+
+ public void setTableId(String tableId) {
+ this.tableId = tableId;
+ }
+
+ public ITableCellMargin getCellMargin() {
+ return cellMargin;
+ }
+
+ public void setCellMargin(ITableCellMargin cellMargin) {
+ this.cellMargin = cellMargin;
+ }
+
+ public TableLayoutType getLayout() {
+ return layout;
+ }
+
+ public void setLayout(TableLayoutType layout) {
+ this.layout = layout;
+ }
+
+ public boolean isOverlap() {
+ return overlap;
+ }
+
+ public void setOverlap(boolean overlap) {
+ this.overlap = overlap;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableAnchor.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableAnchor.java
new file mode 100644
index 00000000..4df43922
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableAnchor.java
@@ -0,0 +1,22 @@
+package io.sc.platform.excel.univer.model;
+
+public class ITableAnchor {
+ private IObjectPositionH positionH;
+ private IObjectPositionV positionV;
+
+ public IObjectPositionH getPositionH() {
+ return positionH;
+ }
+
+ public void setPositionH(IObjectPositionH positionH) {
+ this.positionH = positionH;
+ }
+
+ public IObjectPositionV getPositionV() {
+ return positionV;
+ }
+
+ public void setPositionV(IObjectPositionV positionV) {
+ this.positionV = positionV;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableCell.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableCell.java
new file mode 100644
index 00000000..47ab5a1e
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableCell.java
@@ -0,0 +1,107 @@
+package io.sc.platform.excel.univer.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+public class ITableCell {
+ private ITableCellMargin margin;
+ private Integer rowSpan;
+ private Integer columnSpan;
+ private IColorStyle backgroundColor;
+ private ITableCellBorder borderLeft;
+ private ITableCellBorder borderRight;
+ private ITableCellBorder borderTop;
+ private ITableCellBorder borderBottom;
+ private IWidthInTableSize size;
+
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean tcFitText;
+ private VerticalAlignmentType vAlign;
+
+ public ITableCellMargin getMargin() {
+ return margin;
+ }
+
+ public void setMargin(ITableCellMargin margin) {
+ this.margin = margin;
+ }
+
+ public Integer getRowSpan() {
+ return rowSpan;
+ }
+
+ public void setRowSpan(Integer rowSpan) {
+ this.rowSpan = rowSpan;
+ }
+
+ public Integer getColumnSpan() {
+ return columnSpan;
+ }
+
+ public void setColumnSpan(Integer columnSpan) {
+ this.columnSpan = columnSpan;
+ }
+
+ public IColorStyle getBackgroundColor() {
+ return backgroundColor;
+ }
+
+ public void setBackgroundColor(IColorStyle backgroundColor) {
+ this.backgroundColor = backgroundColor;
+ }
+
+ public ITableCellBorder getBorderLeft() {
+ return borderLeft;
+ }
+
+ public void setBorderLeft(ITableCellBorder borderLeft) {
+ this.borderLeft = borderLeft;
+ }
+
+ public ITableCellBorder getBorderRight() {
+ return borderRight;
+ }
+
+ public void setBorderRight(ITableCellBorder borderRight) {
+ this.borderRight = borderRight;
+ }
+
+ public ITableCellBorder getBorderTop() {
+ return borderTop;
+ }
+
+ public void setBorderTop(ITableCellBorder borderTop) {
+ this.borderTop = borderTop;
+ }
+
+ public ITableCellBorder getBorderBottom() {
+ return borderBottom;
+ }
+
+ public void setBorderBottom(ITableCellBorder borderBottom) {
+ this.borderBottom = borderBottom;
+ }
+
+ public IWidthInTableSize getSize() {
+ return size;
+ }
+
+ public void setSize(IWidthInTableSize size) {
+ this.size = size;
+ }
+
+ public boolean isTcFitText() {
+ return tcFitText;
+ }
+
+ public void setTcFitText(boolean tcFitText) {
+ this.tcFitText = tcFitText;
+ }
+
+ public VerticalAlignmentType getvAlign() {
+ return vAlign;
+ }
+
+ public void setvAlign(VerticalAlignmentType vAlign) {
+ this.vAlign = vAlign;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableCellBorder.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableCellBorder.java
new file mode 100644
index 00000000..0511fd87
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableCellBorder.java
@@ -0,0 +1,31 @@
+package io.sc.platform.excel.univer.model;
+
+public class ITableCellBorder {
+ private IColorStyle color;
+ private INumberUnit width;
+ private DashStyleType dashStyle;
+
+ public IColorStyle getColor() {
+ return color;
+ }
+
+ public void setColor(IColorStyle color) {
+ this.color = color;
+ }
+
+ public INumberUnit getWidth() {
+ return width;
+ }
+
+ public void setWidth(INumberUnit width) {
+ this.width = width;
+ }
+
+ public DashStyleType getDashStyle() {
+ return dashStyle;
+ }
+
+ public void setDashStyle(DashStyleType dashStyle) {
+ this.dashStyle = dashStyle;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableCellMargin.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableCellMargin.java
new file mode 100644
index 00000000..7fb07116
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableCellMargin.java
@@ -0,0 +1,40 @@
+package io.sc.platform.excel.univer.model;
+
+public class ITableCellMargin {
+ private INumberUnit start;
+ private INumberUnit end;
+ private INumberUnit top;
+ private INumberUnit bottom;
+
+ public INumberUnit getStart() {
+ return start;
+ }
+
+ public void setStart(INumberUnit start) {
+ this.start = start;
+ }
+
+ public INumberUnit getEnd() {
+ return end;
+ }
+
+ public void setEnd(INumberUnit end) {
+ this.end = end;
+ }
+
+ public INumberUnit getTop() {
+ return top;
+ }
+
+ public void setTop(INumberUnit top) {
+ this.top = top;
+ }
+
+ public INumberUnit getBottom() {
+ return bottom;
+ }
+
+ public void setBottom(INumberUnit bottom) {
+ this.bottom = bottom;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableColumn.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableColumn.java
new file mode 100644
index 00000000..28ebac0a
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableColumn.java
@@ -0,0 +1,13 @@
+package io.sc.platform.excel.univer.model;
+
+public class ITableColumn {
+ private IWidthInTableSize size;
+
+ public IWidthInTableSize getSize() {
+ return size;
+ }
+
+ public void setSize(IWidthInTableSize size) {
+ this.size = size;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableRow.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableRow.java
new file mode 100644
index 00000000..fedf3e52
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableRow.java
@@ -0,0 +1,54 @@
+package io.sc.platform.excel.univer.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+public class ITableRow {
+ private ITableCell[] tableCells;
+ private ITableRowSize trHeight;
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean cantSplit;
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean isFirstRow;
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean repeatHeaderRow;
+
+ public ITableCell[] getTableCells() {
+ return tableCells;
+ }
+
+ public void setTableCells(ITableCell[] tableCells) {
+ this.tableCells = tableCells;
+ }
+
+ public ITableRowSize getTrHeight() {
+ return trHeight;
+ }
+
+ public void setTrHeight(ITableRowSize trHeight) {
+ this.trHeight = trHeight;
+ }
+
+ public boolean isCantSplit() {
+ return cantSplit;
+ }
+
+ public void setCantSplit(boolean cantSplit) {
+ this.cantSplit = cantSplit;
+ }
+
+ public boolean isFirstRow() {
+ return isFirstRow;
+ }
+
+ public void setFirstRow(boolean firstRow) {
+ isFirstRow = firstRow;
+ }
+
+ public boolean isRepeatHeaderRow() {
+ return repeatHeaderRow;
+ }
+
+ public void setRepeatHeaderRow(boolean repeatHeaderRow) {
+ this.repeatHeaderRow = repeatHeaderRow;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableRowSize.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableRowSize.java
new file mode 100644
index 00000000..203f511f
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableRowSize.java
@@ -0,0 +1,22 @@
+package io.sc.platform.excel.univer.model;
+
+public class ITableRowSize {
+ private INumberUnit val;
+ private TableRowHeightRule hRule;
+
+ public INumberUnit getVal() {
+ return val;
+ }
+
+ public void setVal(INumberUnit val) {
+ this.val = val;
+ }
+
+ public TableRowHeightRule gethRule() {
+ return hRule;
+ }
+
+ public void sethRule(TableRowHeightRule hRule) {
+ this.hRule = hRule;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITextDecoration.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITextDecoration.java
new file mode 100644
index 00000000..2e7f81b5
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITextDecoration.java
@@ -0,0 +1,44 @@
+package io.sc.platform.excel.univer.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+public class ITextDecoration {
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean s; // show
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean c; // color is follow the font color. the default value is TRUE, it's also TRUE if it is undefined. the cl has no effect when `c` is TRUE.
+ private IColorStyle cl; // color
+ private TextDecoration t; // lineType
+
+ public boolean isS() {
+ return s;
+ }
+
+ public void setS(boolean s) {
+ this.s = s;
+ }
+
+ public boolean isC() {
+ return c;
+ }
+
+ public void setC(boolean c) {
+ this.c = c;
+ }
+
+ public IColorStyle getCl() {
+ return cl;
+ }
+
+ public void setCl(IColorStyle cl) {
+ this.cl = cl;
+ }
+
+ public TextDecoration getT() {
+ return t;
+ }
+
+ public void setT(TextDecoration t) {
+ this.t = t;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITextRotation.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITextRotation.java
new file mode 100644
index 00000000..899d2561
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITextRotation.java
@@ -0,0 +1,25 @@
+package io.sc.platform.excel.univer.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+public class ITextRotation {
+ private Integer a; //angle
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean v; //vertical
+
+ public Integer getA() {
+ return a;
+ }
+
+ public void setA(Integer a) {
+ this.a = a;
+ }
+
+ public boolean isV() {
+ return v;
+ }
+
+ public void setV(boolean v) {
+ this.v = v;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITextRun.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITextRun.java
new file mode 100644
index 00000000..9e0ba045
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITextRun.java
@@ -0,0 +1,40 @@
+package io.sc.platform.excel.univer.model;
+
+public class ITextRun {
+ private Integer st;
+ private Integer ed;
+ private String sId;
+ private ITextStyle ts;
+
+ public Integer getSt() {
+ return st;
+ }
+
+ public void setSt(Integer st) {
+ this.st = st;
+ }
+
+ public Integer getEd() {
+ return ed;
+ }
+
+ public void setEd(Integer ed) {
+ this.ed = ed;
+ }
+
+ public String getsId() {
+ return sId;
+ }
+
+ public void setsId(String sId) {
+ this.sId = sId;
+ }
+
+ public ITextStyle getTs() {
+ return ts;
+ }
+
+ public void setTs(ITextStyle ts) {
+ this.ts = ts;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITextStyle.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITextStyle.java
new file mode 100644
index 00000000..90a11cb5
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITextStyle.java
@@ -0,0 +1,31 @@
+package io.sc.platform.excel.univer.model;
+
+public class ITextStyle {
+ private Integer sc;
+ private Integer pos;
+ private Integer sa;
+
+ public Integer getSc() {
+ return sc;
+ }
+
+ public void setSc(Integer sc) {
+ this.sc = sc;
+ }
+
+ public Integer getPos() {
+ return pos;
+ }
+
+ public void setPos(Integer pos) {
+ this.pos = pos;
+ }
+
+ public Integer getSa() {
+ return sa;
+ }
+
+ public void setSa(Integer sa) {
+ this.sa = sa;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITransformState.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITransformState.java
new file mode 100644
index 00000000..30172751
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITransformState.java
@@ -0,0 +1,103 @@
+package io.sc.platform.excel.univer.model;
+
+public class ITransformState {
+ private Integer width;
+ private Integer height;
+ private Integer left;
+ private Integer top;
+ private Integer scaleX;
+ private Integer scaleY;
+ private Integer angle;
+ private Integer skewX;
+ private Integer skewY;
+ private boolean flipX;
+ private boolean flipY;
+
+ public Integer getWidth() {
+ return width;
+ }
+
+ public void setWidth(Integer width) {
+ this.width = width;
+ }
+
+ public Integer getHeight() {
+ return height;
+ }
+
+ public void setHeight(Integer height) {
+ this.height = height;
+ }
+
+ public Integer getLeft() {
+ return left;
+ }
+
+ public void setLeft(Integer left) {
+ this.left = left;
+ }
+
+ public Integer getTop() {
+ return top;
+ }
+
+ public void setTop(Integer top) {
+ this.top = top;
+ }
+
+ public Integer getScaleX() {
+ return scaleX;
+ }
+
+ public void setScaleX(Integer scaleX) {
+ this.scaleX = scaleX;
+ }
+
+ public Integer getScaleY() {
+ return scaleY;
+ }
+
+ public void setScaleY(Integer scaleY) {
+ this.scaleY = scaleY;
+ }
+
+ public Integer getAngle() {
+ return angle;
+ }
+
+ public void setAngle(Integer angle) {
+ this.angle = angle;
+ }
+
+ public Integer getSkewX() {
+ return skewX;
+ }
+
+ public void setSkewX(Integer skewX) {
+ this.skewX = skewX;
+ }
+
+ public Integer getSkewY() {
+ return skewY;
+ }
+
+ public void setSkewY(Integer skewY) {
+ this.skewY = skewY;
+ }
+
+ public boolean isFlipX() {
+ return flipX;
+ }
+
+ public void setFlipX(boolean flipX) {
+ this.flipX = flipX;
+ }
+
+ public boolean isFlipY() {
+ return flipY;
+ }
+
+ public void setFlipY(boolean flipY) {
+ this.flipY = flipY;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IWidthInTableSize.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IWidthInTableSize.java
new file mode 100644
index 00000000..6d01f982
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IWidthInTableSize.java
@@ -0,0 +1,22 @@
+package io.sc.platform.excel.univer.model;
+
+public class IWidthInTableSize {
+ private TableSizeType type;
+ private INumberUnit width;
+
+ public TableSizeType getType() {
+ return type;
+ }
+
+ public void setType(TableSizeType type) {
+ this.type = type;
+ }
+
+ public INumberUnit getWidth() {
+ return width;
+ }
+
+ public void setWidth(INumberUnit width) {
+ this.width = width;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IWorkbookData.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IWorkbookData.java
new file mode 100644
index 00000000..2d17f9ca
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IWorkbookData.java
@@ -0,0 +1,78 @@
+package io.sc.platform.excel.univer.model;
+
+import java.util.Map;
+
+public class IWorkbookData {
+ private String id; //Unique identifier of the Univer Sheets.
+ private String name; //Name of the Univer Sheets.
+ private String appVersion; //Version of the Univer model definition.
+ private LocaleType locale; //Locale of the document.
+ private Map styles; //Style references for the workbook.
+ private String[] sheetOrder; //Array of sheet IDs representing the order of worksheets.
+ private Map sheets; //Record containing data for each worksheet.
+ private IResource[] resources; //Store the data of plugins
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getAppVersion() {
+ return appVersion;
+ }
+
+ public void setAppVersion(String appVersion) {
+ this.appVersion = appVersion;
+ }
+
+ public LocaleType getLocale() {
+ return locale;
+ }
+
+ public void setLocale(LocaleType locale) {
+ this.locale = locale;
+ }
+
+ public Map getStyles() {
+ return styles;
+ }
+
+ public void setStyles(Map styles) {
+ this.styles = styles;
+ }
+
+ public String[] getSheetOrder() {
+ return sheetOrder;
+ }
+
+ public void setSheetOrder(String[] sheetOrder) {
+ this.sheetOrder = sheetOrder;
+ }
+
+ public Map getSheets() {
+ return sheets;
+ }
+
+ public void setSheets(Map sheets) {
+ this.sheets = sheets;
+ }
+
+ public IResource[] getResources() {
+ return resources;
+ }
+
+ public void setResources(IResource[] resources) {
+ this.resources = resources;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IWorksheetData.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IWorksheetData.java
new file mode 100644
index 00000000..dfd79d24
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IWorksheetData.java
@@ -0,0 +1,164 @@
+package io.sc.platform.excel.univer.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.util.Map;
+
+public class IWorksheetData {
+ private String id; // Unique identifier for the worksheet.
+ private String name; // Name of the worksheet.
+ private String tabColor; // Color of the worksheet tab.
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean hidden; // Whether the sheet is hidden. Default: false.
+ private IFreeze freeze; // Freeze pane settings.
+ private Integer rowCount; // Total number of rows.
+ private Integer columnCount; // Total number of columns.
+ private Integer defaultColumnWidth; // Default width for columns, unit px.
+ private Integer defaultRowHeight; // Default height for rows, unit px.
+ private IRange[] mergeData; // Array of merged cell ranges.
+ private Map> cellData; // Matrix of cell contents. More details.
+ private Map rowData; // Array of row data objects.
+ private Map columnData; // Array of column data objects.
+ private IRowHeader rowHeader; // Row header configuration.
+ private IColumnHeader columnHeader; // Column header configuration.
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean showGridlines; // Whether gridlines are visible.
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER)
+ private boolean rightToLeft; // Whether the worksheet is in right-to-left mode.
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getTabColor() {
+ return tabColor;
+ }
+
+ public void setTabColor(String tabColor) {
+ this.tabColor = tabColor;
+ }
+
+ public boolean isHidden() {
+ return hidden;
+ }
+
+ public void setHidden(boolean hidden) {
+ this.hidden = hidden;
+ }
+
+ public IFreeze getFreeze() {
+ return freeze;
+ }
+
+ public void setFreeze(IFreeze freeze) {
+ this.freeze = freeze;
+ }
+
+ public Integer getRowCount() {
+ return rowCount;
+ }
+
+ public void setRowCount(Integer rowCount) {
+ this.rowCount = rowCount;
+ }
+
+ public Integer getColumnCount() {
+ return columnCount;
+ }
+
+ public void setColumnCount(Integer columnCount) {
+ this.columnCount = columnCount;
+ }
+
+ public Integer getDefaultColumnWidth() {
+ return defaultColumnWidth;
+ }
+
+ public void setDefaultColumnWidth(Integer defaultColumnWidth) {
+ this.defaultColumnWidth = defaultColumnWidth;
+ }
+
+ public Integer getDefaultRowHeight() {
+ return defaultRowHeight;
+ }
+
+ public void setDefaultRowHeight(Integer defaultRowHeight) {
+ this.defaultRowHeight = defaultRowHeight;
+ }
+
+ public IRange[] getMergeData() {
+ return mergeData;
+ }
+
+ public void setMergeData(IRange[] mergeData) {
+ this.mergeData = mergeData;
+ }
+
+ public Map> getCellData() {
+ return cellData;
+ }
+
+ public void setCellData(Map> cellData) {
+ this.cellData = cellData;
+ }
+
+ public Map getRowData() {
+ return rowData;
+ }
+
+ public void setRowData(Map rowData) {
+ this.rowData = rowData;
+ }
+
+ public Map getColumnData() {
+ return columnData;
+ }
+
+ public void setColumnData(Map columnData) {
+ this.columnData = columnData;
+ }
+
+ public IRowHeader getRowHeader() {
+ return rowHeader;
+ }
+
+ public void setRowHeader(IRowHeader rowHeader) {
+ this.rowHeader = rowHeader;
+ }
+
+ public IColumnHeader getColumnHeader() {
+ return columnHeader;
+ }
+
+ public void setColumnHeader(IColumnHeader columnHeader) {
+ this.columnHeader = columnHeader;
+ }
+
+ public boolean isShowGridlines() {
+ return showGridlines;
+ }
+
+ public void setShowGridlines(boolean showGridlines) {
+ this.showGridlines = showGridlines;
+ }
+
+ public boolean isRightToLeft() {
+ return rightToLeft;
+ }
+
+ public void setRightToLeft(boolean rightToLeft) {
+ this.rightToLeft = rightToLeft;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ListGlyphType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ListGlyphType.java
new file mode 100644
index 00000000..4496c283
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ListGlyphType.java
@@ -0,0 +1,75 @@
+package io.sc.platform.excel.univer.model;
+
+public enum ListGlyphType {
+ BULLET(0),// The glyph type is unspecified or unsupported.
+ NONE(1),// An empty string.
+ DECIMAL(2),// A number), like 1), 2), or 3.
+ DECIMAL_ZERO(3),// A number where single digit numbers are prefixed with a zero), like 01), 02), or 03. Numbers with more than one digit are not prefixed with a zero.
+ UPPER_LETTER(4),// An uppercase letter), like A), B), or C.
+ LOWER_LETTER(5),// A lowercase letter), like a), b), or c.
+ UPPER_ROMAN(6),// An uppercase Roman numeral), like I), II), or III.
+ LOWER_ROMAN(7),// A lowercase Roman numeral), like i), ii), or iii.
+ /**
+ * Not yet achieved), aligned with Excel's standards.
+ * 17.18.59 ST_NumberFormat (Numbering Format)
+ */
+ ORDINAL(8),
+ CARDINAL_TEXT(9),
+ ORDINAL_TEXT(10),
+ HEX(11),
+ CHICAGO(12),
+ IDEOGRAPH_DIGITAL(13),
+ JAPANESE_COUNTING(14),
+ AIUEO(15),
+ IROHA(16),
+ DECIMAL_FULL_WIDTH(17),
+ DECIMAL_HALF_WIDTH(18),
+ JAPANESE_LEGAL(19),
+ JAPANESE_DIGITAL_TEN_THOUSAND(20),
+ DECIMAL_ENCLOSED_CIRCLE(21),
+ DECIMAL_FULL_WIDTH2(22),
+ AIUEO_FULL_WIDTH(23),
+ IROHA_FULL_WIDTH(24),
+ GANADA(25),
+ CHOSUNG(26),
+ DECIMAL_ENCLOSED_FULLSTOP(27),
+ DECIMAL_ENCLOSED_PAREN(28),
+ DECIMAL_ENCLOSED_CIRCLE_CHINESE(29),
+ IDEOGRAPH_ENCLOSED_CIRCLE(30),
+ IDEOGRAPH_TRADITIONAL(31),
+ IDEOGRAPH_ZODIAC(32),
+ IDEOGRAPH_ZODIAC_TRADITIONAL(33),
+ TAIWANESE_COUNTING(34),
+ IDEOGRAPH_LEGAL_TRADITIONAL(35),
+ TAIWANESE_COUNTING_THOUSAND(36),
+ TAIWANESE_DIGITAL(37),
+ CHINESE_COUNTING(38),
+ CHINESE_LEGAL_SIMPLIFIED(39),
+ CHINESE_COUNTING_THOUSAND(40),
+ KOREAN_DIGITAL(41),
+ KOREAN_COUNTING(42),
+ KOREAN_LEGAL(43),
+ KOREAN_DIGITAL2(44),
+ VIETNAMESE_COUNTING(45),
+ RUSSIAN_LOWER(46),
+ RUSSIAN_UPPER(47),
+ NUMBER_IN_DASH(48),
+ HEBREW1(49),
+ HEBREW2(50),
+ ARABIC_ALPHA(51),
+ ARABIC_ABJAD(52),
+ HINDI_VOWELS(53),
+ HINDI_CONSONANTS(54),
+ HINDI_NUMBERS(55),
+ HINDI_COUNTING(56),
+ THAI_LETTERS(57),
+ THAI_NUMBERS(58),
+ THAI_COUNTING(59),
+ CUSTOM(60);
+
+ private int value;
+
+ ListGlyphType(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/LocaleType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/LocaleType.java
new file mode 100644
index 00000000..97e7f27e
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/LocaleType.java
@@ -0,0 +1,17 @@
+package io.sc.platform.excel.univer.model;
+
+public enum LocaleType {
+ EN_US("enUS"),
+ FR_FR("frFR"),
+ ZH_CN("zhCN"),
+ RU_RU("ruRU"),
+ ZH_TW("zhTW"),
+ VI_VN("viVN"),
+ FA_IR("faIR");
+
+ private String value;
+
+ LocaleType(String value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/NamedStyleType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/NamedStyleType.java
new file mode 100644
index 00000000..c6a10511
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/NamedStyleType.java
@@ -0,0 +1,20 @@
+package io.sc.platform.excel.univer.model;
+
+public enum NamedStyleType {
+ NAMED_STYLE_TYPE_UNSPECIFIED(0),// The type of named style is unspecified.
+ NORMAL_TEXT(1),// Normal text.
+ TITLE(2),// Title.
+ SUBTITLE(3),// Subtitle.
+ HEADING_1(4),// Heading 1.
+ HEADING_2(5),// Heading 2.
+ HEADING_3(6),// Heading 3.
+ HEADING_4(7),// Heading 4.
+ HEADING_5(8),// Heading 5.
+ HEADING_6(9);
+
+ private int value;
+
+ NamedStyleType(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/NumberUnitType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/NumberUnitType.java
new file mode 100644
index 00000000..71dbed36
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/NumberUnitType.java
@@ -0,0 +1,15 @@
+package io.sc.platform.excel.univer.model;
+
+public enum NumberUnitType {
+ POINT(0),
+ LINE(1),
+ CHARACTER(2),
+ PIXEL(3),
+ PERCENT(4);
+
+ private int value;
+
+ NumberUnitType(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ObjectRelativeFromH.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ObjectRelativeFromH.java
new file mode 100644
index 00000000..488aa57b
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ObjectRelativeFromH.java
@@ -0,0 +1,18 @@
+package io.sc.platform.excel.univer.model;
+
+public enum ObjectRelativeFromH {
+ PAGE(0),
+ COLUMN(1),
+ CHARACTER(2),
+ MARGIN(3),
+ INSIDE_MARGIN(4),
+ OUTSIDE_MARGIN(5),
+ LEFT_MARGIN(6),
+ RIGHT_MARGIN(7);
+
+ private int value;
+
+ ObjectRelativeFromH(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ObjectRelativeFromV.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ObjectRelativeFromV.java
new file mode 100644
index 00000000..db8c65ae
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ObjectRelativeFromV.java
@@ -0,0 +1,18 @@
+package io.sc.platform.excel.univer.model;
+
+public enum ObjectRelativeFromV {
+ PAGE(0),
+ PARAGRAPH(1),
+ LINE(2),
+ MARGIN(3),
+ TOP_MARGIN(4),
+ BOTTOM_MARGIN(5),
+ INSIDE_MARGIN(6),
+ OUTSIDE_MARGIN(7);
+
+ private int value;
+
+ ObjectRelativeFromV(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/PageOrientType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/PageOrientType.java
new file mode 100644
index 00000000..a3b6dad3
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/PageOrientType.java
@@ -0,0 +1,12 @@
+package io.sc.platform.excel.univer.model;
+
+public enum PageOrientType {
+ PORTRAIT(0),
+ LANDSCAPE(1);
+
+ private int value;
+
+ PageOrientType(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/PositionedObjectLayoutType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/PositionedObjectLayoutType.java
new file mode 100644
index 00000000..7a023eb6
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/PositionedObjectLayoutType.java
@@ -0,0 +1,17 @@
+package io.sc.platform.excel.univer.model;
+
+public enum PositionedObjectLayoutType {INLINE(0),
+ WRAP_NONE(1),
+ WRAP_POLYGON(2),
+ WRAP_SQUARE(3),
+ WRAP_THROUGH(4),
+ WRAP_TIGHT(5),
+ WRAP_TOP_AND_BOTTOM(6);
+
+ private int value;
+
+ PositionedObjectLayoutType(int value){
+ this.value =value;
+ }
+
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/RangeType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/RangeType.java
new file mode 100644
index 00000000..86ed995b
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/RangeType.java
@@ -0,0 +1,14 @@
+package io.sc.platform.excel.univer.model;
+
+public enum RangeType {
+ NORMAL(0),
+ ROW(1),
+ COLUMN(2),
+ ALL(3);
+
+ private int value;
+
+ RangeType(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/SectionType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/SectionType.java
new file mode 100644
index 00000000..da968f18
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/SectionType.java
@@ -0,0 +1,15 @@
+package io.sc.platform.excel.univer.model;
+
+public enum SectionType {
+ SECTION_TYPE_UNSPECIFIED(0),// The section type is unspecified.
+ CONTINUOUS(1),// The section starts immediately after the last paragraph of the previous section.
+ NEXT_PAGE(2),// The section starts on the next page.
+ EVEN_PAGE(3),// The section starts on the next page.
+ ODD_PAGE(4);
+
+ private int value;
+
+ SectionType(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/SpacingRule.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/SpacingRule.java
new file mode 100644
index 00000000..097c2d09
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/SpacingRule.java
@@ -0,0 +1,22 @@
+package io.sc.platform.excel.univer.model;
+
+public enum SpacingRule {
+ /**
+ * Specifies that the line spacing of the parent object shall be automatically determined by the size of its contents), with no predetermined minimum or maximum size.
+ */
+ AUTO(0),
+ /**
+ * Specifies that the height of the line shall be at least the value specified), but might be expanded to fit its content as needed.
+ */
+ AT_LEAST(1),
+ /**
+ * Specifies that the height of the line shall be exactly the value specified), regardless of the size of the contents of the contents.
+ */
+ EXACT(2);
+
+ private int value;
+
+ SpacingRule(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TabStopAlignment.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TabStopAlignment.java
new file mode 100644
index 00000000..09cf4d21
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TabStopAlignment.java
@@ -0,0 +1,14 @@
+package io.sc.platform.excel.univer.model;
+
+public enum TabStopAlignment {
+ TAB_STOP_ALIGNMENT_UNSPECIFIED(0),// The tab stop alignment is unspecified.
+ START(1),// The tab stop is aligned to the start of the line. This is the default.
+ CENTER(2),// The tab stop is aligned to the center of the line.
+ END(3);
+
+ private int value;
+
+ TabStopAlignment(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableAlignmentType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableAlignmentType.java
new file mode 100644
index 00000000..85928c69
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableAlignmentType.java
@@ -0,0 +1,13 @@
+package io.sc.platform.excel.univer.model;
+
+public enum TableAlignmentType {
+ START(0),
+ CENTER(1),
+ END(2);
+
+ private int value;
+
+ TableAlignmentType(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableLayoutType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableLayoutType.java
new file mode 100644
index 00000000..de350dde
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableLayoutType.java
@@ -0,0 +1,12 @@
+package io.sc.platform.excel.univer.model;
+
+public enum TableLayoutType {
+ AUTO_FIT(0),
+ FIXED(1);
+
+ private int value;
+
+ TableLayoutType(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableRowHeightRule.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableRowHeightRule.java
new file mode 100644
index 00000000..dbf3f687
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableRowHeightRule.java
@@ -0,0 +1,13 @@
+package io.sc.platform.excel.univer.model;
+
+public enum TableRowHeightRule {
+ AUTO(0),
+ AT_LEAST(1),
+ EXACT(2);
+
+ private int value;
+
+ TableRowHeightRule(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableSizeType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableSizeType.java
new file mode 100644
index 00000000..b419738d
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableSizeType.java
@@ -0,0 +1,12 @@
+package io.sc.platform.excel.univer.model;
+
+public enum TableSizeType {
+ UNSPECIFIED(0),
+ SPECIFIED(1);
+
+ private int value;
+
+ TableSizeType(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableTextWrapType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableTextWrapType.java
new file mode 100644
index 00000000..a2609972
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableTextWrapType.java
@@ -0,0 +1,12 @@
+package io.sc.platform.excel.univer.model;
+
+public enum TableTextWrapType {
+ NONE(0),
+ WRAP(1);
+
+ private int value;
+
+ TableTextWrapType(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TextDecoration.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TextDecoration.java
new file mode 100644
index 00000000..3b94c913
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TextDecoration.java
@@ -0,0 +1,28 @@
+package io.sc.platform.excel.univer.model;
+
+public enum TextDecoration {
+ DASH(0),
+ DASH_DOT_DOT_HEAVY(1),
+ DASH_DOT_HEAVY(2),
+ DASHED_HEAVY(3),
+ DASH_LONG(4),
+ DASH_LONG_HEAVY(5),
+ DOT_DASH(6),
+ DOT_DOT_DASH(7),
+ DOTTED(8),
+ DOTTED_HEAVY(9),
+ DOUBLE(10),
+ NONE(11),
+ SINGLE(12),
+ THICK(13),
+ WAVE(14),
+ WAVY_DOUBLE(15),
+ WAVY_HEAVY(16),
+ WORDS(17);
+
+ private int value;
+
+ TextDecoration(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TextDirection.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TextDirection.java
new file mode 100644
index 00000000..3dc80831
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TextDirection.java
@@ -0,0 +1,13 @@
+package io.sc.platform.excel.univer.model;
+
+public enum TextDirection {
+ UNSPECIFIED(0),
+ LEFT_TO_RIGHT(1),
+ RIGHT_TO_LEFT(2);
+
+ private int value;
+
+ TextDirection(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TextDirectionType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TextDirectionType.java
new file mode 100644
index 00000000..bbfaf930
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TextDirectionType.java
@@ -0,0 +1,14 @@
+package io.sc.platform.excel.univer.model;
+
+public enum TextDirectionType {
+ NORMAL(0),// Horizontal
+ TBRL(1),// Vertical
+ LRTBV(2);
+
+ private int value;
+
+ TextDirectionType(int value){
+ this.value =value;
+ }
+
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ThemeColorType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ThemeColorType.java
new file mode 100644
index 00000000..a644584d
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ThemeColorType.java
@@ -0,0 +1,31 @@
+package io.sc.platform.excel.univer.model;
+
+public enum ThemeColorType {
+ /**
+ * TEXT
+ */
+ DARK1(0),
+ /**
+ * BACKGROUND
+ */
+ LIGHT1(1),
+ DARK2(2),
+ LIGHT2(3),
+ ACCENT1(4),
+ ACCENT2(5),
+ ACCENT3(6),
+ ACCENT4(7),
+ ACCENT5(8),
+ ACCENT6(9),
+ /**
+ * LINK
+ */
+ HYPERLINK(10),
+ FOLLOWED_HYPERLINK(11);
+
+ private int value;
+
+ ThemeColorType(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/VerticalAlign.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/VerticalAlign.java
new file mode 100644
index 00000000..205cd68a
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/VerticalAlign.java
@@ -0,0 +1,14 @@
+package io.sc.platform.excel.univer.model;
+
+public enum VerticalAlign {
+ UNSPECIFIED(0),
+ TOP(1), // The text is explicitly aligned to the top of the cell.
+ MIDDLE(2), // The text is explicitly aligned to the middle of the cell.
+ BOTTOM(3);
+
+ private int value;
+
+ VerticalAlign(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/VerticalAlignmentType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/VerticalAlignmentType.java
new file mode 100644
index 00000000..1ddc5171
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/VerticalAlignmentType.java
@@ -0,0 +1,15 @@
+package io.sc.platform.excel.univer.model;
+
+public enum VerticalAlignmentType {
+ CONTENT_ALIGNMENT_UNSPECIFIED(0),// An unspecified content alignment. The content alignment is inherited from the parent if one exists.
+ BOTH(1),
+ TOP(2),// An alignment that aligns the content to the top of the content holder. Corresponds to ECMA-376 ST_TextAnchoringType 't'.
+ CENTER(3),// An alignment that aligns the content to the middle of the content holder. Corresponds to ECMA-376 ST_TextAnchoringType 'ctr'.
+ BOTTOM(4);
+
+ private int value;
+
+ VerticalAlignmentType(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/WrapStrategy.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/WrapStrategy.java
new file mode 100644
index 00000000..b24140a2
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/WrapStrategy.java
@@ -0,0 +1,32 @@
+package io.sc.platform.excel.univer.model;
+
+public enum WrapStrategy {
+ UNSPECIFIED(0),
+ /**
+ * Lines that are longer than the cell width will be written in the next cell over, so long as that cell is empty. If the next cell over is non-empty, this behaves the same as CLIP . The text will never wrap to the next line unless the user manually inserts a new line. Example:
+ * | First sentence. |
+ * | Manual newline that is very long. <- Text continues into next cell
+ * | Next newline. |
+ */
+ OVERFLOW(1),
+ /**
+ * Lines that are longer than the cell width will be clipped. The text will never wrap to the next line unless the user manually inserts a new line. Example:
+ * | First sentence. |
+ * | Manual newline t| <- Text is clipped
+ * | Next newline. |
+ */
+ CLIP(2),
+ /**
+ * Words that are longer than a line are wrapped at the character level rather than clipped. Example:
+ * | Cell has a |
+ * | loooooooooo| <- Word is broken.
+ * | ong word. |
+ */
+ WRAP(3);
+
+ private int value;
+
+ WrapStrategy(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/WrapTextType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/WrapTextType.java
new file mode 100644
index 00000000..6978f3ec
--- /dev/null
+++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/WrapTextType.java
@@ -0,0 +1,14 @@
+package io.sc.platform.excel.univer.model;
+
+public enum WrapTextType {
+ BOTH_SIDES(0),
+ LEFT(1),
+ RIGHT(2),
+ LARGEST(3);
+
+ private int value;
+
+ WrapTextType(int value){
+ this.value =value;
+ }
+}
diff --git a/io.sc.platform.developer.doc/package.json b/io.sc.platform.developer.doc/package.json
index e922a70c..1757da7e 100644
--- a/io.sc.platform.developer.doc/package.json
+++ b/io.sc.platform.developer.doc/package.json
@@ -28,7 +28,7 @@
"vuepress": "2.0.0-rc.15"
},
"dependencies": {
- "platform-core": "8.2.108",
+ "platform-core": "8.2.110",
"quasar": "2.17.6",
"vue": "3.5.13",
"vue-i18n": "11.0.1"
diff --git a/io.sc.platform.developer.frontend/package.json b/io.sc.platform.developer.frontend/package.json
index fea02aba..7f31772b 100644
--- a/io.sc.platform.developer.frontend/package.json
+++ b/io.sc.platform.developer.frontend/package.json
@@ -112,7 +112,7 @@
"node-sql-parser": "5.3.6",
"pinia": "2.3.0",
"pinia-undo": "0.2.4",
- "platform-core": "8.2.108",
+ "platform-core": "8.2.110",
"quasar": "2.17.6",
"sort-array": "5.0.0",
"svg-path-commander": "2.1.7",
diff --git a/io.sc.platform.lcdp.frontend/package.json b/io.sc.platform.lcdp.frontend/package.json
index 4469cf3e..3a677c62 100644
--- a/io.sc.platform.lcdp.frontend/package.json
+++ b/io.sc.platform.lcdp.frontend/package.json
@@ -112,7 +112,7 @@
"node-sql-parser": "5.3.6",
"pinia": "2.3.0",
"pinia-undo": "0.2.4",
- "platform-core": "8.2.108",
+ "platform-core": "8.2.110",
"quasar": "2.17.6",
"sort-array": "5.0.0",
"svg-path-commander": "2.1.7",
diff --git a/io.sc.platform.lcdp.frontend/src/components/index.ts b/io.sc.platform.lcdp.frontend/src/components/index.ts
index 091a749d..2bf781c7 100644
--- a/io.sc.platform.lcdp.frontend/src/components/index.ts
+++ b/io.sc.platform.lcdp.frontend/src/components/index.ts
@@ -9,6 +9,7 @@ import component_lcdp_form_page from '@/views/form/Page.vue';
import component_lcdp_excel_report from '@/views/excelTemplate/ExcelReport.vue';
import component_lcdp_formConfig from '@/views/form/FormConfig.vue';
import component_lcdp_excel_template from '@/views/excelTemplate/TemplateGrid.vue';
+import component_lcdp_export_excel_template from '@/views/export/ExportTemplate.vue';
const localComponents = {
'component.lcdp.Frontend': component_lcdp_Frontend,
@@ -18,6 +19,7 @@ const localComponents = {
'component.lcdp.excel.report': component_lcdp_excel_report,
'component.lcdp.formConfig': component_lcdp_formConfig,
'component.lcdp.excel.template': component_lcdp_excel_template,
+ 'component.lcdp.export.excel.template': component_lcdp_export_excel_template,
};
export default localComponents;
diff --git a/io.sc.platform.lcdp.frontend/src/i18n/messages.json b/io.sc.platform.lcdp.frontend/src/i18n/messages.json
index 7e834f18..dff9320d 100644
--- a/io.sc.platform.lcdp.frontend/src/i18n/messages.json
+++ b/io.sc.platform.lcdp.frontend/src/i18n/messages.json
@@ -5,6 +5,7 @@
"menu.lcdp.bpm": "Bussiness Process Manager",
"menu.lcdp.form": "Form",
"menu.lcdp.excel.template": "Excel Template",
+ "menu.lcdp.export.excel.template": "Data Export Template(Excel)",
"theme.action.setDefaultTheme": "Set As Default",
"theme.action.setDefaultTheme.confirm": "Would you like to set \"{themeName}\" as default theme?",
@@ -67,6 +68,8 @@
"theme.topper.actions.notifier.yes": "Notifier(enabled)",
"theme.topper.actions.notifier.no": "Notifier(disabled)",
"theme.topper.notifierInterval": "Notifier Interval",
+ "theme.topper.showDefaultRole.yes": "Show default role",
+ "theme.topper.showDefaultRole.no": "Not show default role",
"theme.sider": "Sider",
"theme.sider.position": "Position",
diff --git a/io.sc.platform.lcdp.frontend/src/i18n/messages_tw_CN.json b/io.sc.platform.lcdp.frontend/src/i18n/messages_tw_CN.json
index 625af512..7c33c833 100644
--- a/io.sc.platform.lcdp.frontend/src/i18n/messages_tw_CN.json
+++ b/io.sc.platform.lcdp.frontend/src/i18n/messages_tw_CN.json
@@ -5,6 +5,7 @@
"menu.lcdp.bpm": "流程管理",
"menu.lcdp.form": "表单管理",
"menu.lcdp.excel.template": "报表模板管理(Excel)",
+ "menu.lcdp.export.excel.template": "數據導出模版管理(Excel)",
"theme.action.setDefaultTheme": "設置為默認主題",
"theme.action.setDefaultTheme.confirm": "您確定要將 \"{themeName}\" 設置為默認主題嗎?",
diff --git a/io.sc.platform.lcdp.frontend/src/i18n/messages_zh_CN.json b/io.sc.platform.lcdp.frontend/src/i18n/messages_zh_CN.json
index 1e58d1ec..6e6a8362 100644
--- a/io.sc.platform.lcdp.frontend/src/i18n/messages_zh_CN.json
+++ b/io.sc.platform.lcdp.frontend/src/i18n/messages_zh_CN.json
@@ -5,6 +5,7 @@
"menu.lcdp.bpm": "流程管理",
"menu.lcdp.form": "表单管理",
"menu.lcdp.excel.template": "报表模板管理(Excel)",
+ "menu.lcdp.export.excel.template": "数据导出模版管理(Excel)",
"theme.action.setDefaultTheme": "设置为默认主题",
"theme.action.setDefaultTheme.confirm": "您确定要将 \"{themeName}\" 设置为默认主题吗?",
diff --git a/io.sc.platform.lcdp.frontend/src/menus/menus.json b/io.sc.platform.lcdp.frontend/src/menus/menus.json
index 206182bf..70a2a305 100644
--- a/io.sc.platform.lcdp.frontend/src/menus/menus.json
+++ b/io.sc.platform.lcdp.frontend/src/menus/menus.json
@@ -52,5 +52,7 @@
/* 低代码管理/表单管理*/
{"type":"ROUTE", "order":600, "parentId":"menu.lcdp", "id":"menu.lcdp.form", "titleI18nKey":"menu.lcdp.form", "icon":"widgets", "routeName":"route.lcdp.form"},
/* 低代码管理/报表模板管理(Excel)*/
- {"type":"ROUTE", "order":700, "parentId":"menu.lcdp", "id":"menu.lcdp.excel.template", "titleI18nKey":"menu.lcdp.excel.template", "icon":"view_list", "routeName":"route.lcdp.excel.template"}
+ {"type":"ROUTE", "order":700, "parentId":"menu.lcdp", "id":"menu.lcdp.excel.template", "titleI18nKey":"menu.lcdp.excel.template", "icon":"view_list", "routeName":"route.lcdp.excel.template"},
+ /* 低代码管理/数据导出模板管理(Excel)*/
+ {"type":"ROUTE", "order":800, "parentId":"menu.lcdp", "id":"menu.lcdp.export.excel.template", "titleI18nKey":"menu.lcdp.export.excel.template", "icon":"view_list", "routeName":"route.lcdp.export.excel.template"}
]
diff --git a/io.sc.platform.lcdp.frontend/src/routes/routes.json b/io.sc.platform.lcdp.frontend/src/routes/routes.json
index e89542c2..121cd632 100644
--- a/io.sc.platform.lcdp.frontend/src/routes/routes.json
+++ b/io.sc.platform.lcdp.frontend/src/routes/routes.json
@@ -82,5 +82,16 @@
"permissions": ["/example/**/*"]
},
"children": []
+ },
+ {
+ "parent": "/",
+ "name": "route.lcdp.export.excel.template",
+ "path": "lcdp/export/excel/template",
+ "component": "component.lcdp.export.excel.template",
+ "componentPath": "@/views/export/ExportTemplate.vue",
+ "meta": {
+ "permissions": ["/example/**/*"]
+ },
+ "children": []
}
]
diff --git a/io.sc.platform.lcdp.frontend/src/views/export/ExportTemplate.vue b/io.sc.platform.lcdp.frontend/src/views/export/ExportTemplate.vue
new file mode 100644
index 00000000..f34d0b74
--- /dev/null
+++ b/io.sc.platform.lcdp.frontend/src/views/export/ExportTemplate.vue
@@ -0,0 +1,58 @@
+
+
+
+ {}"
+ >
+
+
+
+
+
diff --git a/io.sc.platform.lcdp.frontend/src/views/export/UniverTemplate.vue b/io.sc.platform.lcdp.frontend/src/views/export/UniverTemplate.vue
new file mode 100644
index 00000000..63e2ed2f
--- /dev/null
+++ b/io.sc.platform.lcdp.frontend/src/views/export/UniverTemplate.vue
@@ -0,0 +1,154 @@
+
+
+
+ {
+ refreshRelationshipComponents(args.row.id);
+ }
+ "
+ >
+
+
+
+
+
+
+
+
+
+
diff --git a/io.sc.platform.lcdp.frontend/src/views/theme/Topper.vue b/io.sc.platform.lcdp.frontend/src/views/theme/Topper.vue
index 167a8198..1f7951ac 100644
--- a/io.sc.platform.lcdp.frontend/src/views/theme/Topper.vue
+++ b/io.sc.platform.lcdp.frontend/src/views/theme/Topper.vue
@@ -93,6 +93,16 @@
/>
+
diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/api/Topper.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/api/Topper.java
index 315b3698..7b8e8319 100644
--- a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/api/Topper.java
+++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/api/Topper.java
@@ -14,6 +14,7 @@ public class Topper {
private String titleColor ="white"; // 标题颜色
private Map actions =new HashMap<>(); // 顶部动作按钮
private long notifierInterval=5*60; // 顶部通知器轮询间隔(单位:秒)
+ private boolean showDefaultRole =true; // 是否显示用户默认角色
public Topper(){
this.actions.put("ai-chat",new TopperAction());
@@ -100,4 +101,12 @@ public class Topper {
public void setNotifierInterval(long notifierInterval) {
this.notifierInterval = notifierInterval;
}
+
+ public boolean isShowDefaultRole() {
+ return showDefaultRole;
+ }
+
+ public void setShowDefaultRole(boolean showDefaultRole) {
+ this.showDefaultRole = showDefaultRole;
+ }
}
diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/controller/ExportExcelTemplateColumnController.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/controller/ExportExcelTemplateColumnController.java
new file mode 100644
index 00000000..8b80dc47
--- /dev/null
+++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/controller/ExportExcelTemplateColumnController.java
@@ -0,0 +1,15 @@
+package io.sc.platform.lcdp.excel.template.controller;
+
+import io.sc.platform.lcdp.excel.template.entity.ExportExcelTemplateColumnEntity;
+import io.sc.platform.lcdp.excel.template.repository.ExportExcelTemplateColumnRepository;
+import io.sc.platform.lcdp.excel.template.service.ExportExcelTemplateColumnService;
+import io.sc.platform.lcdp.excel.template.vo.ExportExcelTemplateColumnVo;
+import io.sc.platform.mvc.controller.support.RestCrudController;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/api/exportexcel/column")
+public class ExportExcelTemplateColumnController extends RestCrudController {
+
+}
diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/controller/ExportExcelTemplateController.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/controller/ExportExcelTemplateController.java
new file mode 100644
index 00000000..a76a7e14
--- /dev/null
+++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/controller/ExportExcelTemplateController.java
@@ -0,0 +1,22 @@
+package io.sc.platform.lcdp.excel.template.controller;
+
+import io.sc.platform.core.response.ResponseWrapper;
+import io.sc.platform.core.response.SuccessResponseWrapper;
+import io.sc.platform.lcdp.excel.template.entity.ExcelTemplate;
+import io.sc.platform.lcdp.excel.template.entity.ExportExcelTemplateEntity;
+import io.sc.platform.lcdp.excel.template.repository.ExcelTemplateRepository;
+import io.sc.platform.lcdp.excel.template.repository.ExportExcelTemplateRepository;
+import io.sc.platform.lcdp.excel.template.service.ExcelTemplateService;
+import io.sc.platform.lcdp.excel.template.service.ExportExcelTemplateService;
+import io.sc.platform.lcdp.excel.template.vo.ExcelTemplateVo;
+import io.sc.platform.lcdp.excel.template.vo.ExportExcelTemplateVo;
+import io.sc.platform.mvc.controller.support.RestCrudController;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+@RestController
+@RequestMapping("/api/exportexcel/template")
+public class ExportExcelTemplateController extends RestCrudController {
+
+}
diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/entity/ExportExcelTemplateColumnEntity.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/entity/ExportExcelTemplateColumnEntity.java
new file mode 100644
index 00000000..d43dc502
--- /dev/null
+++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/entity/ExportExcelTemplateColumnEntity.java
@@ -0,0 +1,136 @@
+package io.sc.platform.lcdp.excel.template.entity;
+
+import io.sc.platform.lcdp.excel.template.enums.DataType;
+import io.sc.platform.lcdp.excel.template.vo.ExportExcelTemplateColumnVo;
+import io.sc.platform.lcdp.excel.template.vo.ExportExcelTemplateVo;
+import io.sc.platform.orm.entity.CorporationAuditorEntity;
+import org.hibernate.annotations.GenericGenerator;
+
+import javax.persistence.*;
+import javax.validation.constraints.Size;
+
+/**
+ * 导出 Excel 模版实体
+ */
+@Entity
+@Table(name="LCDP_EXPORT_TEMPLATE_COLUMN")
+public class ExportExcelTemplateColumnEntity extends CorporationAuditorEntity {
+ @Id
+ @GeneratedValue(generator = "system-uuid")
+ @GenericGenerator(name = "system-uuid", strategy = "uuid2")
+ @Column(name="ID_", length=36)
+ @Size(max=36)
+ private String id;
+
+ //字段代码
+ @Column(name="CODE_",nullable=false,length=255)
+ @Size(min=1,max=255)
+ private String code;
+
+ //字段名称
+ @Column(name="NAME_", length=255)
+ @Size(min=1,max=255)
+ private String name;
+
+ //字段描述
+ @Column(name="DESCRIPTION_", length=255)
+ @Size(min=1,max=255)
+ private String description;
+
+ //排序
+ @Column(name="ORDER_")
+ private Integer order;
+
+ //字段值类型
+ @Column(name="VALUE_TYPE_", length=255)
+ private String valueType;
+
+ //字段值公式
+ @Column(name="VALUE_FORMULA")
+ private String valueFormula;
+
+ //所属模版
+ @ManyToOne(fetch=FetchType.LAZY)
+ @JoinColumn(name="TEMPLATE_ID_")
+ protected ExportExcelTemplateEntity template;
+
+ @Override
+ public ExportExcelTemplateColumnVo toVo() {
+ ExportExcelTemplateColumnVo vo = new ExportExcelTemplateColumnVo();
+ super.toVo(vo);
+
+ vo.setId(this.getId());
+ vo.setCode(this.getCode());
+ vo.setName(this.getName());
+ vo.setDescription(this.getDescription());
+ vo.setOrder(this.getOrder());
+ vo.setValueType(this.getValueType());
+ vo.setValueFormula(this.getValueFormula());
+ vo.setTemplate(this.getTemplate().getId());
+ return vo;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public Integer getOrder() {
+ return order;
+ }
+
+ public void setOrder(Integer order) {
+ this.order = order;
+ }
+
+ public String getValueType() {
+ return valueType;
+ }
+
+ public void setValueType(String valueType) {
+ this.valueType = valueType;
+ }
+
+ public String getValueFormula() {
+ return valueFormula;
+ }
+
+ public void setValueFormula(String valueFormula) {
+ this.valueFormula = valueFormula;
+ }
+
+ public ExportExcelTemplateEntity getTemplate() {
+ return template;
+ }
+
+ public void setTemplate(ExportExcelTemplateEntity template) {
+ this.template = template;
+ }
+}
diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/entity/ExportExcelTemplateEntity.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/entity/ExportExcelTemplateEntity.java
new file mode 100644
index 00000000..d8c4acc1
--- /dev/null
+++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/entity/ExportExcelTemplateEntity.java
@@ -0,0 +1,129 @@
+package io.sc.platform.lcdp.excel.template.entity;
+
+import io.sc.platform.lcdp.excel.template.enums.DataType;
+import io.sc.platform.lcdp.excel.template.vo.ExportExcelTemplateVo;
+import io.sc.platform.orm.entity.CorporationAuditorEntity;
+import org.hibernate.annotations.GenericGenerator;
+
+import javax.persistence.*;
+import javax.validation.constraints.Size;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 导出 Excel 模版实体
+ */
+@Entity
+@Table(name="LCDP_EXPORT_TEMPLATE")
+public class ExportExcelTemplateEntity extends CorporationAuditorEntity {
+ @Id
+ @GeneratedValue(generator = "system-uuid")
+ @GenericGenerator(name = "system-uuid", strategy = "uuid2")
+ @Column(name="ID_", length=36)
+ @Size(max=36)
+ private String id;
+
+ //模版代码
+ @Column(name="CODE_",nullable=false,length=255)
+ @Size(min=1,max=255)
+ private String code;
+
+ //模版名称
+ @Column(name="NAME_", length=255)
+ @Size(min=1,max=255)
+ private String name;
+
+ //模版描述
+ @Column(name="DESCRIPTION_", length=255)
+ @Size(min=1,max=255)
+ private String description;
+
+ //数据类型
+ @Column(name="DATA_TYPE_",insertable=false,updatable=false)
+ @Enumerated(EnumType.STRING)
+ private DataType dataType;
+
+ //JPA 实体类名
+ @Column(name="DATA_JPA_ENTITY_CLASS_")
+ private String jpaEntityClass;
+
+ //模版配置(univer)
+ @Column(name="UNIVER_CONFIG_")
+ private String univerConfig;
+
+ //包含的字段
+ @OneToMany(mappedBy="template",cascade= {CascadeType.PERSIST})
+ @OrderBy("order")
+ protected List columns =new ArrayList();
+
+ @Override
+ public ExportExcelTemplateVo toVo() {
+ ExportExcelTemplateVo vo = new ExportExcelTemplateVo();
+ super.toVo(vo);
+
+ vo.setId(this.getId());
+ vo.setCode(this.getCode());
+ vo.setName(this.getName());
+ vo.setDescription(this.getDescription());
+ vo.setDataType(this.getDataType());
+ vo.setJpaEntityClass(this.getJpaEntityClass());
+ vo.setUniverConfig(this.getUniverConfig());
+ return vo;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public DataType getDataType() {
+ return dataType;
+ }
+
+ public void setDataType(DataType dataType) {
+ this.dataType = dataType;
+ }
+
+ public String getJpaEntityClass() {
+ return jpaEntityClass;
+ }
+
+ public void setJpaEntityClass(String jpaEntityClass) {
+ this.jpaEntityClass = jpaEntityClass;
+ }
+
+ public String getUniverConfig() {
+ return univerConfig;
+ }
+
+ public void setUniverConfig(String univerConfig) {
+ this.univerConfig = univerConfig;
+ }
+}
diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/enums/DataType.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/enums/DataType.java
new file mode 100644
index 00000000..6fbad3eb
--- /dev/null
+++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/enums/DataType.java
@@ -0,0 +1,9 @@
+package io.sc.platform.lcdp.excel.template.enums;
+
+/**
+ * 导出数据类型
+ */
+public enum DataType {
+ JPA_ENTITY, // JPA 实体
+ SQL_RESULT_SET; // SQL 记录集
+}
diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/repository/ExportExcelTemplateColumnRepository.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/repository/ExportExcelTemplateColumnRepository.java
new file mode 100644
index 00000000..75f6d134
--- /dev/null
+++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/repository/ExportExcelTemplateColumnRepository.java
@@ -0,0 +1,7 @@
+package io.sc.platform.lcdp.excel.template.repository;
+
+import io.sc.platform.lcdp.excel.template.entity.ExportExcelTemplateColumnEntity;
+import io.sc.platform.orm.repository.DaoRepository;
+
+public interface ExportExcelTemplateColumnRepository extends DaoRepository {
+}
diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/repository/ExportExcelTemplateRepository.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/repository/ExportExcelTemplateRepository.java
new file mode 100644
index 00000000..7e754552
--- /dev/null
+++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/repository/ExportExcelTemplateRepository.java
@@ -0,0 +1,8 @@
+package io.sc.platform.lcdp.excel.template.repository;
+
+import io.sc.platform.lcdp.excel.template.entity.ExcelTemplate;
+import io.sc.platform.lcdp.excel.template.entity.ExportExcelTemplateEntity;
+import io.sc.platform.orm.repository.DaoRepository;
+
+public interface ExportExcelTemplateRepository extends DaoRepository {
+}
diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/service/ExportExcelTemplateColumnService.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/service/ExportExcelTemplateColumnService.java
new file mode 100644
index 00000000..1eb0f94a
--- /dev/null
+++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/service/ExportExcelTemplateColumnService.java
@@ -0,0 +1,9 @@
+package io.sc.platform.lcdp.excel.template.service;
+
+import io.sc.platform.lcdp.excel.template.entity.ExportExcelTemplateColumnEntity;
+import io.sc.platform.lcdp.excel.template.repository.ExportExcelTemplateColumnRepository;
+import io.sc.platform.orm.service.DaoService;
+
+public interface ExportExcelTemplateColumnService extends DaoService {
+
+}
diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/service/ExportExcelTemplateService.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/service/ExportExcelTemplateService.java
new file mode 100644
index 00000000..b763d5c8
--- /dev/null
+++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/service/ExportExcelTemplateService.java
@@ -0,0 +1,13 @@
+package io.sc.platform.lcdp.excel.template.service;
+
+import io.sc.platform.lcdp.excel.template.entity.ExcelTemplate;
+import io.sc.platform.lcdp.excel.template.entity.ExportExcelTemplateEntity;
+import io.sc.platform.lcdp.excel.template.repository.ExcelTemplateRepository;
+import io.sc.platform.lcdp.excel.template.repository.ExportExcelTemplateRepository;
+import io.sc.platform.orm.service.DaoService;
+
+import java.util.Map;
+
+public interface ExportExcelTemplateService extends DaoService {
+
+}
diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/service/impl/ExportExcelTemplateColumnServiceImpl.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/service/impl/ExportExcelTemplateColumnServiceImpl.java
new file mode 100644
index 00000000..3be005f3
--- /dev/null
+++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/service/impl/ExportExcelTemplateColumnServiceImpl.java
@@ -0,0 +1,12 @@
+package io.sc.platform.lcdp.excel.template.service.impl;
+
+import io.sc.platform.lcdp.excel.template.entity.ExportExcelTemplateColumnEntity;
+import io.sc.platform.lcdp.excel.template.repository.ExportExcelTemplateColumnRepository;
+import io.sc.platform.lcdp.excel.template.service.ExportExcelTemplateColumnService;
+import io.sc.platform.orm.service.impl.DaoServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service("io.sc.platform.lcdp.excel.template.service.impl.ExportExcelTemplateColumnServiceImpl")
+public class ExportExcelTemplateColumnServiceImpl extends DaoServiceImpl implements ExportExcelTemplateColumnService {
+
+}
diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/service/impl/ExportExcelTemplateServiceImpl.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/service/impl/ExportExcelTemplateServiceImpl.java
new file mode 100644
index 00000000..cfa2f0a2
--- /dev/null
+++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/service/impl/ExportExcelTemplateServiceImpl.java
@@ -0,0 +1,24 @@
+package io.sc.platform.lcdp.excel.template.service.impl;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import io.sc.platform.lcdp.excel.template.entity.ExcelParams;
+import io.sc.platform.lcdp.excel.template.entity.ExcelTemplate;
+import io.sc.platform.lcdp.excel.template.entity.ExportExcelTemplateEntity;
+import io.sc.platform.lcdp.excel.template.repository.ExcelParamsRepository;
+import io.sc.platform.lcdp.excel.template.repository.ExcelTemplateRepository;
+import io.sc.platform.lcdp.excel.template.repository.ExportExcelTemplateRepository;
+import io.sc.platform.lcdp.excel.template.service.ExcelTemplateService;
+import io.sc.platform.lcdp.excel.template.service.ExportExcelTemplateService;
+import io.sc.platform.orm.service.impl.DaoServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+@Service("io.sc.platform.lcdp.excel.template.service.impl.ExportExcelTemplateServiceImpl")
+public class ExportExcelTemplateServiceImpl extends DaoServiceImpl implements ExportExcelTemplateService {
+
+}
diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/vo/ExportExcelTemplateColumnVo.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/vo/ExportExcelTemplateColumnVo.java
new file mode 100644
index 00000000..5ff07a40
--- /dev/null
+++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/vo/ExportExcelTemplateColumnVo.java
@@ -0,0 +1,82 @@
+package io.sc.platform.lcdp.excel.template.vo;
+
+import io.sc.platform.lcdp.excel.template.enums.DataType;
+import io.sc.platform.orm.api.vo.CorporationAuditorVo;
+
+/**
+ * 导出 Excel 模版 Vo
+ */
+public class ExportExcelTemplateColumnVo extends CorporationAuditorVo {
+ private String id;
+ private String code;//模版代码
+ private String name;//模版名称
+ private String description;//模版描述
+ private Integer order;//排序
+ private String valueType;//值类型
+ private String valueFormula;//值公式
+ private String template;//模版ID
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public Integer getOrder() {
+ return order;
+ }
+
+ public void setOrder(Integer order) {
+ this.order = order;
+ }
+
+ public String getValueType() {
+ return valueType;
+ }
+
+ public void setValueType(String valueType) {
+ this.valueType = valueType;
+ }
+
+ public String getValueFormula() {
+ return valueFormula;
+ }
+
+ public void setValueFormula(String valueFormula) {
+ this.valueFormula = valueFormula;
+ }
+
+ public String getTemplate() {
+ return template;
+ }
+
+ public void setTemplate(String template) {
+ this.template = template;
+ }
+}
diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/vo/ExportExcelTemplateVo.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/vo/ExportExcelTemplateVo.java
new file mode 100644
index 00000000..2b7d0dc1
--- /dev/null
+++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/vo/ExportExcelTemplateVo.java
@@ -0,0 +1,77 @@
+package io.sc.platform.lcdp.excel.template.vo;
+
+import io.sc.platform.lcdp.excel.template.enums.DataType;
+import io.sc.platform.orm.api.vo.CorporationAuditorVo;
+import org.hibernate.annotations.GenericGenerator;
+
+import javax.persistence.*;
+import javax.validation.constraints.Size;
+
+/**
+ * 导出 Excel 模版 Vo
+ */
+public class ExportExcelTemplateVo extends CorporationAuditorVo {
+ private String id;
+ private String code;//模版代码
+ private String name;//模版名称
+ private String description;//模版描述
+ private DataType dataType;//数据类型
+ private String jpaEntityClass;//JPA 实体类名
+ private String univerConfig;//模版配置(univer)
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public DataType getDataType() {
+ return dataType;
+ }
+
+ public void setDataType(DataType dataType) {
+ this.dataType = dataType;
+ }
+
+ public String getJpaEntityClass() {
+ return jpaEntityClass;
+ }
+
+ public void setJpaEntityClass(String jpaEntityClass) {
+ this.jpaEntityClass = jpaEntityClass;
+ }
+
+ public String getUniverConfig() {
+ return univerConfig;
+ }
+
+ public void setUniverConfig(String univerConfig) {
+ this.univerConfig = univerConfig;
+ }
+}
diff --git a/io.sc.platform.lcdp/src/main/resources/META-INF/platform/plugins/liquibase.json b/io.sc.platform.lcdp/src/main/resources/META-INF/platform/plugins/liquibase.json
index 7b53399b..cb00253e 100644
--- a/io.sc.platform.lcdp/src/main/resources/META-INF/platform/plugins/liquibase.json
+++ b/io.sc.platform.lcdp/src/main/resources/META-INF/platform/plugins/liquibase.json
@@ -6,7 +6,8 @@
"locations":[
"classpath:/liquibase/io.sc.platform.lcdp_8.0.0_20220606__LowCode_Developer_Database_Schema_DDL.xml",
"classpath:/liquibase/io.sc.platform.lcdp_Form_DDL.xml",
- "classpath:/liquibase/io.sc.platform.lcdp_Excel_Template_DDL.xml"
+ "classpath:/liquibase/io.sc.platform.lcdp_Excel_Template_DDL.xml",
+ "classpath:/liquibase/io.sc.platform.lcdp_Export_Excel_Template_DDL.xml"
]
}
]
\ No newline at end of file
diff --git a/io.sc.platform.lcdp/src/main/resources/liquibase/io.sc.platform.lcdp_Export_Excel_Template_DDL.xml b/io.sc.platform.lcdp/src/main/resources/liquibase/io.sc.platform.lcdp_Export_Excel_Template_DDL.xml
new file mode 100644
index 00000000..96e50f9d
--- /dev/null
+++ b/io.sc.platform.lcdp/src/main/resources/liquibase/io.sc.platform.lcdp_Export_Excel_Template_DDL.xml
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/io.sc.platform.license.keygen.frontend/package.json b/io.sc.platform.license.keygen.frontend/package.json
index c535b2b0..60e56847 100644
--- a/io.sc.platform.license.keygen.frontend/package.json
+++ b/io.sc.platform.license.keygen.frontend/package.json
@@ -112,7 +112,7 @@
"node-sql-parser": "5.3.6",
"pinia": "2.3.0",
"pinia-undo": "0.2.4",
- "platform-core": "8.2.108",
+ "platform-core": "8.2.110",
"quasar": "2.17.6",
"sort-array": "5.0.0",
"svg-path-commander": "2.1.7",
diff --git a/io.sc.platform.mvc.frontend/package.json b/io.sc.platform.mvc.frontend/package.json
index 29b973e0..a125773f 100644
--- a/io.sc.platform.mvc.frontend/package.json
+++ b/io.sc.platform.mvc.frontend/package.json
@@ -112,7 +112,7 @@
"node-sql-parser": "5.3.6",
"pinia": "2.3.0",
"pinia-undo": "0.2.4",
- "platform-core": "8.2.108",
+ "platform-core": "8.2.110",
"quasar": "2.17.6",
"sort-array": "5.0.0",
"svg-path-commander": "2.1.7",
diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Contains.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Contains.java
index e1e22c3c..4d2ffc6e 100644
--- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Contains.java
+++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Contains.java
@@ -16,7 +16,7 @@ public class Contains extends Criteria {
@SuppressWarnings("unchecked")
public Predicate getPredicate(Root root, CriteriaQuery> query, CriteriaBuilder builder) {
if(!StringUtils.hasText(value)){
- throw new IllegalArgumentException("[" + operator + "] need a [value] value");
+ return null;
}
Path path =null;
try {
@@ -37,7 +37,7 @@ public class Contains extends Criteria {
@Override
public Condition getCondition(Map> typeMapping) {
if(!StringUtils.hasText(value)){
- throw new IllegalArgumentException("[" + operator + "] need a [value] value");
+ return new Condition();
}
String where =StringUtil.format("${0} like '%${1}%'",fieldName,StringUtil.escapeSqlSpecialChar(value));
Condition condition =new Condition();
diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EndWith.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EndWith.java
index c19199b3..20ebb456 100644
--- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EndWith.java
+++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EndWith.java
@@ -16,7 +16,7 @@ public class EndWith extends Criteria {
@Override
public Predicate getPredicate(Root root, CriteriaQuery> query, CriteriaBuilder builder) {
if(!StringUtils.hasText(value)){
- throw new IllegalArgumentException("[" + operator + "] need a [value] value");
+ return null;
}
Path path =null;
try {
@@ -37,7 +37,7 @@ public class EndWith extends Criteria {
@Override
public Condition getCondition(Map> typeMapping) {
if(!StringUtils.hasText(value)){
- throw new IllegalArgumentException("[" + operator + "] need a [value] value");
+ return new Condition();
}
String where = StringUtil.format("${0} like '%${1}'",fieldName,StringUtil.escapeSqlSpecialChar(value));
Condition condition =new Condition();
diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Equals.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Equals.java
index 458c16d4..e27b5c75 100644
--- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Equals.java
+++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Equals.java
@@ -16,7 +16,7 @@ public class Equals extends Criteria {
@SuppressWarnings("unchecked")
public Predicate getPredicate(Root root, CriteriaQuery> query, CriteriaBuilder builder) {
if(!StringUtils.hasText(value)){
- throw new IllegalArgumentException("[" + operator + "] need a [value] value");
+ return null;
}
PathInformation pi =getPathInformation(root);
if(pi==null) { return null; }
@@ -52,7 +52,7 @@ public class Equals extends Criteria {
@Override
public Condition getCondition(Map> typeMapping) {
if(!StringUtils.hasText(value)){
- throw new IllegalArgumentException("[" + operator + "] need a [value] value");
+ return new Condition();
}
Object pValue =value;
Class> clazz =typeMapping.get(fieldName);
diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterOrEquals.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterOrEquals.java
index a4619f9d..b156a062 100644
--- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterOrEquals.java
+++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterOrEquals.java
@@ -18,7 +18,7 @@ public class GreaterOrEquals extends Criteria {
@SuppressWarnings("unchecked")
public Predicate getPredicate(Root root, CriteriaQuery> query, CriteriaBuilder builder) {
if(!StringUtils.hasText(value)){
- throw new IllegalArgumentException("[" + operator + "] need a [value] value");
+ return null;
}
Path path =null;
try {
@@ -39,7 +39,7 @@ public class GreaterOrEquals extends Criteria {
@Override
public Condition getCondition(Map> typeMapping) {
if(!StringUtils.hasText(value)){
- throw new IllegalArgumentException("[" + operator + "] need a [value] value");
+ return new Condition();
}
Object pValue =value;
Class> clazz =typeMapping.get(fieldName);
diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterThan.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterThan.java
index f91920bb..537863cc 100644
--- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterThan.java
+++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterThan.java
@@ -17,7 +17,7 @@ public class GreaterThan extends Criteria {
@SuppressWarnings("unchecked")
public Predicate getPredicate(Root root, CriteriaQuery> query, CriteriaBuilder builder) {
if(!StringUtils.hasText(value)){
- throw new IllegalArgumentException("[" + operator + "] need a [value] value");
+ return null;
}
Path path =null;
try {
@@ -38,7 +38,7 @@ public class GreaterThan extends Criteria {
@Override
public Condition getCondition(Map> typeMapping) {
if(!StringUtils.hasText(value)){
- throw new IllegalArgumentException("[" + operator + "] need a [value] value");
+ return new Condition();
}
Object pValue =value;
Class> clazz =typeMapping.get(fieldName);
diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/InSet.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/InSet.java
index bea6348a..0bc13cd5 100644
--- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/InSet.java
+++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/InSet.java
@@ -4,12 +4,11 @@ import io.sc.platform.jdbc.sql.condition.Condition;
import io.sc.platform.orm.service.support.OperatorTypeNotSupportedException;
import io.sc.platform.orm.service.support.criteria.Criteria;
import io.sc.platform.orm.service.support.criteria.PathInformation;
+import io.sc.platform.util.StringUtil;
import org.springframework.util.StringUtils;
import javax.persistence.criteria.*;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
public class InSet extends Criteria {
protected String[] value;
@@ -18,7 +17,7 @@ public class InSet extends Criteria {
@SuppressWarnings("unchecked")
public Predicate getPredicate(Root root, CriteriaQuery> query, CriteriaBuilder builder) {
if(value==null || value.length<=0){
- throw new IllegalArgumentException("[" + operator + "] need a [start] or [end] value");
+ return null;
}
PathInformation pi =getPathInformation(root);
if(pi==null) { return null; }
@@ -53,7 +52,27 @@ public class InSet extends Criteria {
@Override
public Condition getCondition(Map> typeMapping) {
- throw new OperatorTypeNotSupportedException();
+ if(value==null || value.length<=0){
+ return new Condition();
+ }
+
+ List