gridjs-spreadsheet 25.6.0 → 25.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (22) hide show
  1. package/113a871731ce1f8a28d02ff60e8d9478.svg +914 -0
  2. package/9ab1b217edd126e8925e88cc8f25a154.svg +88 -0
  3. package/example/Dockerfile +7 -10
  4. package/example/pom.xml +3 -3
  5. package/example/src/main/java/com/aspose/gridjs/demo/MyConfig.java +2 -14
  6. package/example/src/main/java/com/aspose/gridjs/demo/controller/GridJs2Controller.java +9 -9
  7. package/example/src/main/resources/application.properties +7 -3
  8. package/example/src/main/resources/templates/fileFromUpload.html +18 -17
  9. package/example/src/main/resources/templates/index.html +1 -1
  10. package/package.json +1 -1
  11. package/readme.md +35 -22
  12. package/xspreadsheet.css +256 -7
  13. package/xspreadsheet.js +5 -5
  14. package/example/src/main/java/com/aspose/gridjs/demo/MyConfig.java.bak +0 -31
  15. package/example/src/main/resources/static/xspread/content/img/20130527034914143.gif +0 -0
  16. package/example/src/main/resources/static/xspread/content/img/20130527034914229.gif +0 -0
  17. package/example/src/main/resources/static/xspread/content/img/20130527034916363.gif +0 -0
  18. package/example/src/main/resources/static/xspread/content/img/20130527034917946.gif +0 -0
  19. package/example/src/main/resources/static/xspread/content/img/20130527034918372.gif +0 -0
  20. package/preview.gif +0 -0
  21. /package/{555f60323063f2b68b6eac7ce9c45b19.svg → example/src/main/resources/static/xspread/555f60323063f2b68b6eac7ce9c45b19.svg} +0 -0
  22. /package/{a3b683289420fd8ec937908397907279.svg → example/src/main/resources/static/xspread/a3b683289420fd8ec937908397907279.svg} +0 -0
@@ -0,0 +1,88 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 25.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
+ viewBox="0 0 22 22" style="enable-background:new 0 0 22 22;" xml:space="preserve">
5
+ <style type="text/css">
6
+ .st0{fill:url(#SVGID_1_);}
7
+ .st1{fill:url(#SVGID_2_);}
8
+ .st2{fill:url(#SVGID_3_);}
9
+ .st3{fill:url(#SVGID_4_);}
10
+ .st4{opacity:0.6;}
11
+ .st5{opacity:0.38;fill:url(#SVGID_5_);enable-background:new ;}
12
+ .st6{opacity:0.38;fill:url(#SVGID_6_);enable-background:new ;}
13
+ .st7{opacity:0.38;fill:url(#SVGID_7_);enable-background:new ;}
14
+ .st8{opacity:0.38;fill:url(#SVGID_8_);enable-background:new ;}
15
+ </style>
16
+ <g>
17
+
18
+ <radialGradient id="SVGID_1_" cx="519.1851" cy="-127.3083" r="8.2454" gradientTransform="matrix(0 1 -0.9943 0 -113.4659 -506.377)" gradientUnits="userSpaceOnUse">
19
+ <stop offset="0.1429" style="stop-color:#D5EFFC"/>
20
+ <stop offset="0.8424" style="stop-color:#3C8EC6"/>
21
+ <stop offset="1" style="stop-color:#3399CC"/>
22
+ </radialGradient>
23
+ <path class="st0" d="M21,13.6c0-0.5,0.5-6.4-4.6-9.1C14.1,3.2,10.9,3.2,9.1,5C6,8.2,8.6,11.5,9.6,11.8c0,0,0,0,0-0.1
24
+ c-1.6-6.3,9.3-7.4,11.2,1.8C20.9,13.9,21,13.9,21,13.6z"/>
25
+
26
+ <radialGradient id="SVGID_2_" cx="446.2906" cy="702.4343" r="5.9862" gradientTransform="matrix(0.9943 0 0 1 -430.3552 -688)" gradientUnits="userSpaceOnUse">
27
+ <stop offset="0.1429" style="stop-color:#FEE588"/>
28
+ <stop offset="0.5636" style="stop-color:#F79B30"/>
29
+ <stop offset="0.6867" style="stop-color:#F58B2D"/>
30
+ <stop offset="0.8883" style="stop-color:#F3752A"/>
31
+ <stop offset="1" style="stop-color:#F36C29"/>
32
+ </radialGradient>
33
+ <path class="st1" d="M8.5,21.2c0.5,0,6.4,0.5,9.1-4.6c1.3-2.4,1.2-5.6-0.5-7.4c-3.1-3.1-6.4-0.5-6.8,0.5c0,0,0,0,0.1,0
34
+ c6.2-1.6,7.3,9.3-1.8,11.3C8.3,21,8.3,21.1,8.5,21.2z"/>
35
+
36
+ <radialGradient id="SVGID_3_" cx="-378.6884" cy="623.4329" r="8.246" gradientTransform="matrix(0 -1 0.9943 0 -610.95 -369.3066)" gradientUnits="userSpaceOnUse">
37
+ <stop offset="0" style="stop-color:#FCB116"/>
38
+ <stop offset="0.193" style="stop-color:#FBB318"/>
39
+ <stop offset="0.3352" style="stop-color:#F9B91C"/>
40
+ <stop offset="0.461" style="stop-color:#F6C323"/>
41
+ <stop offset="0.5767" style="stop-color:#F4D12D"/>
42
+ <stop offset="0.6727" style="stop-color:#F0E03A"/>
43
+ <stop offset="0.7439" style="stop-color:#E5D534"/>
44
+ <stop offset="0.8645" style="stop-color:#CFBD24"/>
45
+ <stop offset="1" style="stop-color:#B19E11"/>
46
+ </radialGradient>
47
+ <path class="st2" d="M1,8.6c0,0.5-0.5,6.4,4.6,9.1C8,19,11.2,18.9,13,17.2c3.1-3.2,0.5-6.5-0.5-6.8c0,0,0,0,0,0.1
48
+ c1.6,6.3-9.3,7.4-11.2-1.8C1.2,8.3,1.1,8.3,1,8.6z"/>
49
+
50
+ <radialGradient id="SVGID_4_" cx="445.619" cy="696.9989" r="8.2461" gradientTransform="matrix(0.9943 0 0 1 -430.3552 -688)" gradientUnits="userSpaceOnUse">
51
+ <stop offset="0" style="stop-color:#A1C43A"/>
52
+ <stop offset="0.4545" style="stop-color:#A0CC3A"/>
53
+ <stop offset="1" style="stop-color:#3C943A"/>
54
+ </radialGradient>
55
+ <path class="st3" d="M13.5,1C13,1,7.1,0.6,4.5,5.7C3.2,8.1,3.2,11.3,5,13c3.1,3.1,6.4,0.5,6.8-0.5c0,0,0,0-0.1,0
56
+ c-6.2,1.6-7.3-9.3,1.8-11.3C13.8,1.2,13.8,1.1,13.5,1z"/>
57
+ <g class="st4">
58
+
59
+ <radialGradient id="SVGID_5_" cx="413.168" cy="345.1736" r="9.5277" gradientTransform="matrix(1.0925 0 0 1.6216 -440.2973 -540.7683)" gradientUnits="userSpaceOnUse">
60
+ <stop offset="0" style="stop-color:#F9E788"/>
61
+ <stop offset="1" style="stop-color:#FFFFFF"/>
62
+ </radialGradient>
63
+ <path class="st5" d="M11,5.2c-0.9,0-1.7,0.2-2.4,0.5c-2.3,3,0.1,5.9,1,6.2c0,0,0,0,0-0.1C8.7,8,12.4,6,15.8,7.2
64
+ C14.7,6,12.9,5.2,11,5.2z"/>
65
+
66
+ <radialGradient id="SVGID_6_" cx="413.1686" cy="345.1745" r="9.5274" gradientTransform="matrix(1.0925 0 0 1.6216 -440.2973 -540.7683)" gradientUnits="userSpaceOnUse">
67
+ <stop offset="0" style="stop-color:#F9E788"/>
68
+ <stop offset="1" style="stop-color:#FFFFFF"/>
69
+ </radialGradient>
70
+ <path class="st6" d="M10.3,9.7C10.3,9.7,10.3,9.7,10.3,9.7c3.8-0.9,5.7,2.7,4.6,6.1c1.5-1.1,2.4-2.8,2.4-4.7
71
+ c0-0.7-0.1-1.4-0.4-2.1C13.8,6.1,10.6,8.7,10.3,9.7z"/>
72
+
73
+ <radialGradient id="SVGID_7_" cx="413.1689" cy="345.1732" r="9.526" gradientTransform="matrix(1.0925 0 0 1.6216 -440.2973 -540.7683)" gradientUnits="userSpaceOnUse">
74
+ <stop offset="0" style="stop-color:#F9E788"/>
75
+ <stop offset="1" style="stop-color:#FFFFFF"/>
76
+ </radialGradient>
77
+ <path class="st7" d="M12.5,10.4C12.4,10.3,12.4,10.4,12.5,10.4c0.9,3.9-2.7,5.8-6.2,4.6C7.4,16.2,9.1,17,11,17
78
+ c0.9,0,1.7-0.2,2.4-0.5C15.7,13.6,13.4,10.7,12.5,10.4z"/>
79
+
80
+ <radialGradient id="SVGID_8_" cx="413.168" cy="345.1736" r="9.5275" gradientTransform="matrix(1.0925 0 0 1.6216 -440.2973 -540.7683)" gradientUnits="userSpaceOnUse">
81
+ <stop offset="0" style="stop-color:#F9E788"/>
82
+ <stop offset="1" style="stop-color:#FFFFFF"/>
83
+ </radialGradient>
84
+ <path class="st8" d="M11.8,12.5C11.8,12.5,11.8,12.5,11.8,12.5C8,13.5,6.1,9.9,7.2,6.4c-1.5,1.1-2.4,2.8-2.4,4.7
85
+ c0,0.7,0.1,1.4,0.4,2.1C8.3,16.1,11.4,13.5,11.8,12.5z"/>
86
+ </g>
87
+ </g>
88
+ </svg>
@@ -1,33 +1,30 @@
1
1
  FROM maven:3.8.6-amazoncorretto-17 AS build
2
- # ���ù���Ŀ¼
2
+ # 设置工作目录
3
3
  WORKDIR /usr/src/app
4
4
 
5
-
6
-
7
-
8
- # �����ص� Maven �����ļ��ͻ������������ļ����Ƶ�������
5
+ # 将本地的 Maven 设置文件和环境变量设置文件复制到容器中
9
6
  COPY .mvn .mvn
10
7
  COPY pom.xml .
11
8
  COPY src src
12
-
9
+
13
10
  RUN ls -l *
14
- # ʹ�� Maven ����Ӧ��
11
+ # 使用 Maven 构建应用
15
12
  RUN mvn package -DskipTests
16
13
 
17
14
  FROM eclipse/ubuntu_jdk8
18
15
  WORKDIR /app
19
- # �������� jar �ļ����Ƶ��µ�������
16
+ # 将构建的 jar 文件复制到新的容器中
20
17
  COPY --from=build /usr/src/app/target/*.jar /app/app.jar
21
18
 
22
19
 
23
20
  # web port
24
21
  EXPOSE 8080
25
- # Install Fonts because the SDK image contains very few fonts. The command copies font files from local to docker image. Make sure you have a local ��fonts�� directory that contains all the fonts you need to install. In this example, the local ��fonts�� directory is put in the same directory as the Dockerfile.
22
+ # Install Fonts because the SDK image contains very few fonts. The command copies font files from local to docker image. Make sure you have a local fonts directory that contains all the fonts you need to install. In this example, the local fonts directory is put in the same directory as the Dockerfile.
26
23
  # COPY fonts/* /usr/share/fonts/
27
24
  RUN mkdir -p /app/wb
28
25
  RUN mkdir -p /app/grid_cache/streamcache
29
26
  RUN mkdir -p /app/upload
30
27
  COPY wb/*.xlsx /app/wb/
31
28
  # RUN ls -l /app/
32
- # ����Ӧ��
29
+ # 启动应用
33
30
  ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app/app.jar"]
package/example/pom.xml CHANGED
@@ -5,7 +5,7 @@
5
5
  <parent>
6
6
  <groupId>org.springframework.boot</groupId>
7
7
  <artifactId>spring-boot-starter-parent</artifactId>
8
- <version>2.5.14</version>
8
+ <version>2.7.18</version>
9
9
  <relativePath/> <!-- lookup parent from repository -->
10
10
  </parent>
11
11
  <repositories>
@@ -51,12 +51,12 @@
51
51
  <dependency>
52
52
  <groupId>com.aspose</groupId>
53
53
  <artifactId>aspose-cells</artifactId>
54
- <version>25.4</version>
54
+ <version>25.8</version>
55
55
  </dependency>
56
56
  <dependency>
57
57
  <groupId>com.aspose</groupId>
58
58
  <artifactId>aspose-cells</artifactId>
59
- <version>25.4</version>
59
+ <version>25.8</version>
60
60
  <classifier>gridjs</classifier>
61
61
  </dependency>
62
62
  <!-- <dependency>
@@ -2,13 +2,9 @@ package com.aspose.gridjs.demo;
2
2
 
3
3
  import org.springframework.beans.factory.annotation.Value;
4
4
  import org.springframework.context.annotation.Bean;
5
- import org.springframework.context.annotation.ComponentScan;
6
5
  import org.springframework.context.annotation.Configuration;
7
6
 
8
7
  import com.aspose.gridjs.GridJsOptions;
9
- import com.aspose.gridjs.GridJsService;
10
- import com.aspose.gridjs.GridJsWorkbook;
11
- import com.aspose.gridjs.IGridJsService;
12
8
 
13
9
  @Configuration
14
10
  public class MyConfig {
@@ -21,20 +17,12 @@ public class MyConfig {
21
17
 
22
18
 
23
19
  @Bean
24
- public GridJsWorkbook gridJsWorkbook() {
25
- return new GridJsWorkbook();
26
- }
27
-
28
-
29
- @Bean
30
20
  public GridJsOptions gridJsOptions() {
31
21
  GridJsOptions options=new GridJsOptions();
32
22
  options.setFileCacheDirectory(cachePath);
33
23
  return options;
34
24
  }
35
25
 
36
- @Bean
37
- public IGridJsService gridJsService(GridJsOptions gridJsOptions) throws Exception {
38
- return new GridJsService(gridJsOptions);
39
- }
26
+
27
+
40
28
  }
@@ -170,8 +170,8 @@ public class GridJs2Controller extends GridJsControllerBase{
170
170
  @GetMapping("/ImageUrl")
171
171
  public ResponseEntity<String> getImageUrl(@RequestParam String id, @RequestParam String uid) {
172
172
  return super.getImageUrl(id, uid);
173
- }
174
-
173
+ }
174
+
175
175
  @GetMapping("/Ole")
176
176
  public ResponseEntity<?> getOle(HttpServletRequest request) {
177
177
  return super.getOle(request);
@@ -180,16 +180,16 @@ public class GridJs2Controller extends GridJsControllerBase{
180
180
  @GetMapping("/GetFile")
181
181
  public ResponseEntity<?> getFile(@RequestParam("id") String id) {
182
182
  return super.getFile(id);
183
- }
184
-
183
+ }
184
+
185
185
  @PostMapping("/Download")
186
186
  public ResponseEntity<String> download(HttpServletRequest request) {
187
187
  return super.download(request);
188
- }
189
-
190
-
191
-
192
-
188
+ }
189
+
190
+
191
+
192
+
193
193
 
194
194
 
195
195
  }
@@ -2,12 +2,16 @@ spring.application.name=gridjsdemo
2
2
  spring.servlet.multipart.enabled=true
3
3
  spring.servlet.multipart.max-file-size=10MB
4
4
  spring.servlet.multipart.max-request-size=10MB
5
+ #for local test
5
6
  #testconfig.ListDir=D:\\codebase\\customerissue\\wb\\tempfromdownload\\
6
- #for linux
7
+ #testconfig.FileName=excelColumnWordBreak.xlsm
8
+ #testconfig.CachePath=F:\\storage\\gridjs_temp
9
+ #testconfig.UploadPath=F:\\storage\\upload
10
+ #testconfig.AsposeLicensePath=F:\\aspose.lic
11
+ #for docker linux
7
12
  testconfig.ListDir=/app/wb
8
- testconfig.FileName=chart.xlsx
13
+ testconfig.FileName=controls.xlsx
9
14
  testconfig.CachePath=/app/grid_cache
10
15
  testconfig.UploadPath=/app/upload
11
16
  testconfig.AsposeLicensePath=/app/license
12
-
13
17
 
@@ -5,23 +5,24 @@
5
5
  <meta name="viewport" content="width=device-width" />
6
6
  <title>gridjs-web-demo</title>
7
7
 
8
- <style>
9
- ::-webkit-scrollbar, ::-webkit-scrollbar-button {
10
- width: 8px;
11
- height: 8px;
12
- }
8
+ <style>
9
+ ::-webkit-scrollbar, ::-webkit-scrollbar-button {
10
+ width: 8px;
11
+ height: 8px;
12
+ }
13
13
 
14
- ::-webkit-scrollbar-track {
15
- -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
16
- border-radius: 10px;
17
- background-color: #FFF;
18
- }
14
+ ::-webkit-scrollbar-track {
15
+ -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
16
+ border-radius: 10px;
17
+ background-color: #FFF;
18
+ }
19
+
20
+ ::-webkit-scrollbar-thumb {
21
+ border-radius: 10px;
22
+ -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
23
+ background-color: #AAA;
24
+ }
19
25
 
20
- ::-webkit-scrollbar-thumb {
21
- border-radius: 10px;
22
- -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
23
- background-color: #AAA;
24
- }
25
26
  html, body {
26
27
  margin: 0;
27
28
  padding: 0;
@@ -42,8 +43,8 @@ html, body {
42
43
  height: 100%;
43
44
  object-fit: contain; /* 对于图像或视频很有用 */
44
45
  }
45
- </style>
46
- <!--<link rel="stylesheet" href="./quantumui.min.22.5.5.2.css?v=20220312" />-->
46
+ </style>
47
+ <!--<link rel="stylesheet" href="./quantumui.min.22.5.5.2.css?v=20220312" />-->
47
48
  <link rel="stylesheet" href="/xspread/bootstrap.min.22.5.5.2.css?v=20220315" />
48
49
  <script src="/xspread/jquery-2.1.1.js"></script>
49
50
  <link rel="stylesheet" href="/xspread/jquery-ui.min.css" />
@@ -52,7 +52,7 @@ html, body {
52
52
  <!-- <script src="vconsole.min.js"></script> -->
53
53
  <!--for local reference-->
54
54
  <!--
55
- <link rel="stylesheet" href="/xspread/xspreadsheet.css?v=20230525" />
55
+ <link rel="stylesheet" href="/xspread/xspreadsheet.css?v=20230525" />
56
56
  <script src="/xspread/xspreadsheet.js?v=20230525"></script>
57
57
  -->
58
58
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gridjs-spreadsheet",
3
- "version": "25.6.0",
3
+ "version": "25.8.0",
4
4
  "description": "this is the client side script for GridJs which is a lightweight, scalable, and customizable toolkit that provides cross-platform web applications, enables convenient development for editing or viewing Excel/Spreadsheet files, offers simple deployment, and provides easy-to-use APIs based on JSON format.",
5
5
  "types": "index.d.ts",
6
6
  "main": "xspreadsheet.js",
package/readme.md CHANGED
@@ -163,11 +163,11 @@ const s = new Spreadsheet("#gridjs-demo")
163
163
 
164
164
  ## Bind events
165
165
  ```javascript
166
- // single selection
166
+ //single selection
167
167
  xs.on('cell-selected', (cell, ri, ci) => {});
168
- // range selection
168
+ //range selection
169
169
  xs.on('cells-selected', (cell, { sri, sci, eri, eci }) => {});
170
- // shape/image selection
170
+ //shape/image selection
171
171
  xs.on('object-selected', (obj) => { console.log('obj id:', obj.id, ', type: ', obj.type); })
172
172
  // edited on cell
173
173
  xs.on('cell-edited', (text, ri, ci) => {});
@@ -289,13 +289,13 @@ Modern browsers(chrome, firefox, Safari).
289
289
 
290
290
  v24.9.1:
291
291
 
292
- - fix bug that fail to insert column in the new added worksheet
293
- - fix bug that fail to rename worksheet
294
- - support lazy loading
292
+ - Fix bug that fail to insert column in the new added worksheet
293
+ - Fix bug that fail to rename worksheet
294
+ - Support lazy loading
295
295
 
296
296
  v24.10:
297
297
 
298
- - support a view option to show formulas
298
+ - Support a view option to show formulas
299
299
 
300
300
  v24.11:
301
301
 
@@ -303,39 +303,52 @@ v24.11:
303
303
 
304
304
  v24.12:
305
305
 
306
- - support API to show HTML nodes and interact with HTML nodes at specified cell positions
307
- - support pre-check event for row/column delete/insert operations
308
- - support row/column insert/delete events for client APIs
309
- - support events for updating cells
310
- - support multiple instances on one page
306
+ - Support API to show HTML nodes and interact with HTML nodes at specified cell positions
307
+ - Support pre-check event for row/column delete/insert operations
308
+ - Support row/column insert/delete events for client APIs
309
+ - Support events for updating cells
310
+ - Support multiple instances on one page
311
311
 
312
312
  v25.1:
313
313
 
314
- - support copy/paste from MS-Excel
314
+ - Support copy/paste from MS-Excel
315
315
 
316
316
  v25.2:
317
317
 
318
- - support copy/paste from MS-Excel
319
- - enhancement for automatic operations for user’s convenience, such as extending blank row/column, page scrolling, …
318
+ - Support copy/paste from MS-Excel
319
+ - Enhancement for automatic operations for user’s convenience, such as extending blank row/column, page scrolling, …
320
320
 
321
321
  v25.3:
322
322
 
323
- - support more shotcut keys
324
- - support pasting the content copied from excel to multiple target areas
323
+ - Support more shotcut keys
324
+ - Support pasting the content copied from excel to multiple target areas
325
325
 
326
326
  v25.4:
327
327
 
328
- - support show statistics information in the lower right corner when cells are selected
328
+ - Support show statistics information in the lower right corner when cells are selected
329
329
 
330
330
  v25.5:
331
331
 
332
- - add support for Polish menus.
333
- - support APIs for insert/delete rows/columns
332
+ - Add support for Polish menus.
333
+ - Support APIs for insert/delete rows/columns
334
334
 
335
335
  v25.6:
336
336
 
337
- - support APIs for resize rows/columns
338
- - support APIs for hide/unhide rows/columns
337
+ - Support APIs for resize rows/columns
338
+ - Support APIs for hide/unhide rows/columns
339
+
340
+ v25.7:
341
+
342
+ - Support APIs to enable /disable editable range
343
+ - Support APIs to add/modify/delete worksheet 
344
+ - Support APIs to add/modify/delete comment
345
+ - Support APIs to set attribute for range of cells
346
+ - Support APIs to delete for range of cells
347
+
348
+ v25.8:
349
+
350
+ - Support automatic text wrapping
351
+ - Support API to apply font setting in textbox control
339
352
 
340
353
  ## License
341
354