gridjs-spreadsheet 25.3.0 → 25.4.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.
- package/example/Dockerfile +35 -12
- package/example/README.md +1 -27
- package/example/pom.xml +2 -2
- package/example/src/main/resources/application.properties +3 -7
- package/example/src/main/resources/static/xspread/content/img/20130527034914143.gif +0 -0
- package/example/src/main/resources/static/xspread/content/img/20130527034914229.gif +0 -0
- package/example/src/main/resources/static/xspread/content/img/20130527034916363.gif +0 -0
- package/example/src/main/resources/static/xspread/content/img/20130527034917946.gif +0 -0
- package/example/src/main/resources/static/xspread/content/img/20130527034918372.gif +0 -0
- package/example/src/main/resources/templates/fileFromUpload.html +17 -18
- package/example/src/main/resources/templates/index.html +1 -1
- package/package.json +1 -1
- package/preview.gif +0 -0
- package/readme.md +48 -4
- package/xspreadsheet.css +48 -0
- package/xspreadsheet.js +5 -5
- package/example/src/main/resources/static/xspread/555f60323063f2b68b6eac7ce9c45b19.svg +0 -88
- package/example/src/main/resources/static/xspread/a3b683289420fd8ec937908397907279.svg +0 -907
package/example/Dockerfile
CHANGED
|
@@ -1,30 +1,53 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
# FROM mcr.microsoft.com/java/openjdk:11 AS build
|
|
4
|
+
FROM eclipse/ubuntu_jdk8
|
|
5
|
+
|
|
6
|
+
# ���ù���Ŀ¼
|
|
3
7
|
WORKDIR /usr/src/app
|
|
4
8
|
|
|
5
|
-
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
# �����ص� Maven �����ļ��ͻ������������ļ����Ƶ�������
|
|
13
|
+
COPY mvnw .
|
|
6
14
|
COPY .mvn .mvn
|
|
7
15
|
COPY pom.xml .
|
|
8
16
|
COPY src src
|
|
9
|
-
|
|
17
|
+
|
|
18
|
+
# ʹ�� Maven ����Ӧ�ã�������ʹ�õ��� Maven��
|
|
19
|
+
RUN ./mvnw package -DskipTests
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# Set the user
|
|
26
|
+
USER root
|
|
27
|
+
|
|
10
28
|
RUN ls -l *
|
|
11
|
-
# 使用 Maven 构建应用
|
|
12
|
-
RUN mvn package -DskipTests
|
|
13
29
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
30
|
+
# �������� jar �ļ����Ƶ��µ�������
|
|
31
|
+
COPY target/*.jar /app/app.jar
|
|
32
|
+
|
|
33
|
+
# ɾ��������Ҫ��Դ��� Maven ���棬���پ������
|
|
34
|
+
RUN rm -rf target && rm -rf .mvn && rm -rf src
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
18
41
|
|
|
19
42
|
|
|
20
43
|
# web port
|
|
21
44
|
EXPOSE 8080
|
|
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
|
|
45
|
+
# 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.
|
|
23
46
|
# COPY fonts/* /usr/share/fonts/
|
|
24
47
|
RUN mkdir -p /app/wb
|
|
25
48
|
RUN mkdir -p /app/grid_cache/streamcache
|
|
26
49
|
RUN mkdir -p /app/upload
|
|
27
50
|
COPY wb/*.xlsx /app/wb/
|
|
28
51
|
# RUN ls -l /app/
|
|
29
|
-
#
|
|
52
|
+
# ����Ӧ��
|
|
30
53
|
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app/app.jar"]
|
package/example/README.md
CHANGED
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Try our [free online apps](https://products.aspose.app/cells/family) demonstrating some of the most popular Aspose.Cells functionality.
|
|
4
|
-
|
|
1
|
+
# Aspose.Cells for Java
|
|
5
2
|
[Aspose.Cells.GridJs for Java](http://www.aspose.com/products/cells/java) 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.
|
|
6
3
|
|
|
7
|
-
This is a demo to show how we can use GridJs to implment a spreadsheet Editor .
|
|
8
|
-
|
|
9
|
-
|
|
10
4
|
## Preview
|
|
11
5
|
|
|
12
6
|
<img alt='demo' src='https://unpkg.com/gridjs-spreadsheet@25.1.0/preview.gif' />
|
|
@@ -35,32 +29,12 @@ open browser and navigate to view all the files in the directory at http://local
|
|
|
35
29
|
1. docker build -t gridjs-demo-java .
|
|
36
30
|
|
|
37
31
|
2. run with aspose license file:
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
32
|
docker run -d -p 8080:8080 -v C:/path/to/license.txt:/app/license gridjs-demo-java
|
|
41
|
-
```
|
|
42
|
-
|
|
43
33
|
or just run the demo in trial mode:
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
34
|
docker run -d -p 8080:8080 gridjs-demo-java
|
|
47
|
-
```
|
|
48
35
|
|
|
49
36
|
3. open browser and enter the url: http://localhost:8080/gridjsdemo/list
|
|
50
37
|
|
|
51
|
-
## Reference js lib used in the demo project:
|
|
52
|
-
jquery.js v2.1.1
|
|
53
|
-
|
|
54
|
-
jquery-ui.js v1.12.1
|
|
55
|
-
|
|
56
|
-
jquery-ui.css v1.12.1
|
|
57
|
-
|
|
58
|
-
jszip.min.js v3.6.0
|
|
59
|
-
|
|
60
|
-
bootstrap.css v22.5.5.2
|
|
61
|
-
|
|
62
|
-
quantumui.css v22.5.5.2
|
|
63
|
-
|
|
64
38
|
## Resources
|
|
65
39
|
|
|
66
40
|
+ **Website:** [www.aspose.com](http://www.aspose.com)
|
package/example/pom.xml
CHANGED
|
@@ -51,12 +51,12 @@
|
|
|
51
51
|
<dependency>
|
|
52
52
|
<groupId>com.aspose</groupId>
|
|
53
53
|
<artifactId>aspose-cells</artifactId>
|
|
54
|
-
<version>25.
|
|
54
|
+
<version>25.2</version>
|
|
55
55
|
</dependency>
|
|
56
56
|
<dependency>
|
|
57
57
|
<groupId>com.aspose</groupId>
|
|
58
58
|
<artifactId>aspose-cells</artifactId>
|
|
59
|
-
<version>25.
|
|
59
|
+
<version>25.2</version>
|
|
60
60
|
<classifier>gridjs</classifier>
|
|
61
61
|
</dependency>
|
|
62
62
|
<!-- <dependency>
|
|
@@ -2,16 +2,12 @@ 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
|
|
6
5
|
#testconfig.ListDir=D:\\codebase\\customerissue\\wb\\tempfromdownload\\
|
|
7
|
-
#
|
|
8
|
-
#testconfig.CachePath=F:\\storage\\gridjs_temp
|
|
9
|
-
#testconfig.UploadPath=F:\\storage\\upload
|
|
10
|
-
#testconfig.AsposeLicensePath=F:\\aspose.lic
|
|
11
|
-
#for docker linux
|
|
6
|
+
#for linux
|
|
12
7
|
testconfig.ListDir=/app/wb
|
|
13
|
-
testconfig.FileName=
|
|
8
|
+
testconfig.FileName=chart.xlsx
|
|
14
9
|
testconfig.CachePath=/app/grid_cache
|
|
15
10
|
testconfig.UploadPath=/app/upload
|
|
16
11
|
testconfig.AsposeLicensePath=/app/license
|
|
12
|
+
|
|
17
13
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -5,24 +5,23 @@
|
|
|
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
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
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
|
-
}
|
|
8
|
+
<style>
|
|
9
|
+
::-webkit-scrollbar, ::-webkit-scrollbar-button {
|
|
10
|
+
width: 8px;
|
|
11
|
+
height: 8px;
|
|
12
|
+
}
|
|
19
13
|
|
|
20
|
-
::-webkit-scrollbar-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
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
|
+
}
|
|
25
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
|
+
}
|
|
26
25
|
html, body {
|
|
27
26
|
margin: 0;
|
|
28
27
|
padding: 0;
|
|
@@ -43,8 +42,8 @@ html, body {
|
|
|
43
42
|
height: 100%;
|
|
44
43
|
object-fit: contain; /* 对于图像或视频很有用 */
|
|
45
44
|
}
|
|
46
|
-
</style>
|
|
47
|
-
<!--<link rel="stylesheet" href="./quantumui.min.22.5.5.2.css?v=20220312" />-->
|
|
45
|
+
</style>
|
|
46
|
+
<!--<link rel="stylesheet" href="./quantumui.min.22.5.5.2.css?v=20220312" />-->
|
|
48
47
|
<link rel="stylesheet" href="/xspread/bootstrap.min.22.5.5.2.css?v=20220315" />
|
|
49
48
|
<script src="/xspread/jquery-2.1.1.js"></script>
|
|
50
49
|
<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
|
-
|
|
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.
|
|
3
|
+
"version": "25.4.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/preview.gif
ADDED
|
Binary file
|
package/readme.md
CHANGED
|
@@ -163,14 +163,42 @@ 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) => {});
|
|
174
|
+
// cells updated
|
|
175
|
+
xs.on('cells-updated', (name, cells) => {
|
|
176
|
+
console.log('cells updated for sheet name:', name);
|
|
177
|
+
cells.forEach((acell, index, array) => {
|
|
178
|
+
console.log('acell got updated:', acell);
|
|
179
|
+
})
|
|
180
|
+
})
|
|
181
|
+
// cells deleted
|
|
182
|
+
xs.on('cells-deleted', (range) => {
|
|
183
|
+
console.log('cells deleted :', range);
|
|
184
|
+
})
|
|
185
|
+
// rows deleted
|
|
186
|
+
xs.on('rows-deleted', (ri, n) => {
|
|
187
|
+
console.log('rows-deleted :', ri, ",size", n);
|
|
188
|
+
})
|
|
189
|
+
// columns deleted
|
|
190
|
+
xs.on('columns-deleted', (ci, n) => {
|
|
191
|
+
console.log('columns-deleted :', ci, ",size", n);
|
|
192
|
+
})
|
|
193
|
+
// rows inserted
|
|
194
|
+
xs.on('rows-inserted', (ri, n) => {
|
|
195
|
+
console.log('rows-inserted :', ri, ",size", n);
|
|
196
|
+
})
|
|
197
|
+
// columns inserted
|
|
198
|
+
xs.on('columns-inserted', (ci, n) => {
|
|
199
|
+
console.log('columns-inserted :', ci, ",size", n);
|
|
200
|
+
})
|
|
201
|
+
|
|
174
202
|
```
|
|
175
203
|
|
|
176
204
|
## update cell-text
|
|
@@ -196,6 +224,7 @@ xs.cellStyle(ri, ci);
|
|
|
196
224
|
- Paint format
|
|
197
225
|
- Clear format
|
|
198
226
|
- Format
|
|
227
|
+
- Number Format
|
|
199
228
|
- Font/Font size/ bold/italic/Underline/Strike
|
|
200
229
|
- Highlight
|
|
201
230
|
- Shape/Image resize/rotate/position ajustment
|
|
@@ -226,6 +255,7 @@ xs.cellStyle(ri, ci);
|
|
|
226
255
|
- Insert/Delete form controls
|
|
227
256
|
- Insert/Delete common shapes for autoshape
|
|
228
257
|
- Support display two colors gradient in fill effects
|
|
258
|
+
- Mobile compatibility
|
|
229
259
|
|
|
230
260
|
|
|
231
261
|
## Github-Demos
|
|
@@ -283,12 +313,26 @@ v25.1:
|
|
|
283
313
|
|
|
284
314
|
- support copy/paste from MS-Excel
|
|
285
315
|
|
|
316
|
+
v25.2:
|
|
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, …
|
|
320
|
+
|
|
321
|
+
v25.3:
|
|
322
|
+
|
|
323
|
+
- support more shotcut keys
|
|
324
|
+
- support pasting the content copied from excel to multiple target areas
|
|
325
|
+
|
|
326
|
+
v25.4:
|
|
327
|
+
|
|
328
|
+
- support show statistics information in the lower right corner when cells are selected
|
|
329
|
+
|
|
286
330
|
## License
|
|
287
331
|
|
|
288
332
|
MIT
|
|
289
333
|
|
|
290
334
|
## Support
|
|
291
335
|
|
|
292
|
-
You can ask any question or request features using the [Forum](https://forum.aspose.com/c/cells).
|
|
336
|
+
You can ask any question or request features or report bugs using the [Forum](https://forum.aspose.com/c/cells).
|
|
293
337
|
|
|
294
338
|
[Product Page](https://products.aspose.com/cells) | [Product Documentation](https://docs.aspose.com/cells/net/aspose-cells-gridjs/) | [Blog](https://blog.aspose.com/category/cells/) |[API Reference](https://reference.aspose.com/cells/net/aspose.cells.gridjs/) | [Source Code Samples](https://github.com/aspose-cells/Aspose.Cells-for-.NET/tree/master/Examples_GridJs) | [Free Support](https://forum.aspose.com/c/cells)
|
package/xspreadsheet.css
CHANGED
|
@@ -656,6 +656,8 @@ body {
|
|
|
656
656
|
.x-spreadsheet-bottombar {
|
|
657
657
|
position: relative;
|
|
658
658
|
border-top: 1px solid #e0e2e4;
|
|
659
|
+
display: flex;
|
|
660
|
+
justify-content: space-between;
|
|
659
661
|
}
|
|
660
662
|
.x-spreadsheet-bottombar .x-spreadsheet-menu > li {
|
|
661
663
|
line-height: 40px;
|
|
@@ -665,6 +667,24 @@ body {
|
|
|
665
667
|
vertical-align: middle;
|
|
666
668
|
border-right: 1px solid #e8eaed;
|
|
667
669
|
}
|
|
670
|
+
.x-spreadsheet-bottombar .x-spreadsheet-stats {
|
|
671
|
+
border-left: 1px solid #e0e2e4;
|
|
672
|
+
padding: 0 10px;
|
|
673
|
+
height: 40px;
|
|
674
|
+
display: flex;
|
|
675
|
+
align-items: center;
|
|
676
|
+
color: #666;
|
|
677
|
+
font-size: 12px;
|
|
678
|
+
overflow: hidden;
|
|
679
|
+
}
|
|
680
|
+
.x-spreadsheet-bottombar .x-spreadsheet-stat-item {
|
|
681
|
+
margin-right: 12px;
|
|
682
|
+
white-space: nowrap;
|
|
683
|
+
}
|
|
684
|
+
.x-spreadsheet-bottombar [class^="x-spreadsheet-stat-value-"] {
|
|
685
|
+
font-weight: bold;
|
|
686
|
+
color: #333;
|
|
687
|
+
}
|
|
668
688
|
.x-spreadsheet-menu {
|
|
669
689
|
list-style: none;
|
|
670
690
|
margin: 0;
|
|
@@ -1835,6 +1855,34 @@ input[type=number]::-webkit-outer-spin-button {
|
|
|
1835
1855
|
border-top: none;
|
|
1836
1856
|
flex: 1;
|
|
1837
1857
|
}
|
|
1858
|
+
.x-spreadsheet-selector-dropdown-button {
|
|
1859
|
+
position: absolute;
|
|
1860
|
+
width: 24px;
|
|
1861
|
+
height: 18px;
|
|
1862
|
+
background-color: rgba(224, 224, 224, 0.32);
|
|
1863
|
+
border: 1px solid #ccc;
|
|
1864
|
+
border-radius: 3px;
|
|
1865
|
+
display: flex;
|
|
1866
|
+
justify-content: center;
|
|
1867
|
+
align-items: center;
|
|
1868
|
+
cursor: pointer;
|
|
1869
|
+
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
|
|
1870
|
+
transition: background-color 0.2s;
|
|
1871
|
+
z-index: 1000;
|
|
1872
|
+
}
|
|
1873
|
+
.x-spreadsheet-hover-highlight {
|
|
1874
|
+
background-color: rgba(75, 137, 255, 0.1);
|
|
1875
|
+
position: absolute;
|
|
1876
|
+
}
|
|
1877
|
+
.x-spreadsheet-selector-dropdown-button:hover {
|
|
1878
|
+
background-color: #d5d5d5;
|
|
1879
|
+
}
|
|
1880
|
+
.x-spreadsheet-selector-dropdown-button::after {
|
|
1881
|
+
content: '';
|
|
1882
|
+
border-left: 4px solid transparent;
|
|
1883
|
+
border-right: 4px solid transparent;
|
|
1884
|
+
border-top: 6px solid #777;
|
|
1885
|
+
}
|
|
1838
1886
|
.x-spreadsheet-bar-label {
|
|
1839
1887
|
flex: 0 0 auto;
|
|
1840
1888
|
display: inline-block;
|