gridjs-spreadsheet 25.1.2 → 25.2.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/{a3b683289420fd8ec937908397907279.svg → 2922578eabb1a88d1974da56c65189ba.svg} +907 -907
- package/{555f60323063f2b68b6eac7ce9c45b19.svg → 9ab1b217edd126e8925e88cc8f25a154.svg} +88 -88
- package/example/Dockerfile +7 -7
- package/example/README.md +24 -14
- package/example/pom.xml +2 -23
- package/example/src/main/java/com/aspose/gridjs/demo/GridjsdemoApplication.java +6 -2
- package/example/src/main/resources/application.properties +8 -12
- package/example/src/main/resources/templates/fileFromUpload.html +21 -21
- package/example/src/main/resources/templates/index.html +5 -3
- package/example/src/main/resources/templates/list.html +14 -4
- package/package.json +1 -1
- package/readme.md +37 -7
- package/xspreadsheet.css +3 -3
- 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/src/main/resources/static/xspread/xspreadsheet.css +0 -1953
- package/example/src/main/resources/static/xspread/xspreadsheet.js +0 -21
|
@@ -1,88 +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
|
+
<?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>
|
package/example/Dockerfile
CHANGED
|
@@ -3,19 +3,19 @@
|
|
|
3
3
|
# FROM mcr.microsoft.com/java/openjdk:11 AS build
|
|
4
4
|
FROM eclipse/ubuntu_jdk8
|
|
5
5
|
|
|
6
|
-
# ���ù���Ŀ¼
|
|
6
|
+
# ���ù���Ŀ¼
|
|
7
7
|
WORKDIR /usr/src/app
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
# �����ص� Maven �����ļ��ͻ������������ļ����Ƶ�������
|
|
12
|
+
# �����ص� Maven �����ļ��ͻ������������ļ����Ƶ�������
|
|
13
13
|
COPY mvnw .
|
|
14
14
|
COPY .mvn .mvn
|
|
15
15
|
COPY pom.xml .
|
|
16
16
|
COPY src src
|
|
17
17
|
|
|
18
|
-
# ʹ�� Maven ����Ӧ�ã�������ʹ�õ��� Maven��
|
|
18
|
+
# ʹ�� Maven ����Ӧ�ã�������ʹ�õ��� Maven��
|
|
19
19
|
RUN ./mvnw package -DskipTests
|
|
20
20
|
|
|
21
21
|
|
|
@@ -27,10 +27,10 @@ USER root
|
|
|
27
27
|
|
|
28
28
|
RUN ls -l *
|
|
29
29
|
|
|
30
|
-
# �������� jar �ļ����Ƶ��µ�������
|
|
30
|
+
# �������� jar �ļ����Ƶ��µ�������
|
|
31
31
|
COPY target/*.jar /app/app.jar
|
|
32
32
|
|
|
33
|
-
# ɾ��������Ҫ��Դ��� Maven ���棬���پ������
|
|
33
|
+
# ɾ��������Ҫ��Դ��� Maven ���棬���پ������
|
|
34
34
|
RUN rm -rf target && rm -rf .mvn && rm -rf src
|
|
35
35
|
|
|
36
36
|
|
|
@@ -42,12 +42,12 @@ RUN rm -rf target && rm -rf .mvn && rm -rf src
|
|
|
42
42
|
|
|
43
43
|
# web port
|
|
44
44
|
EXPOSE 8080
|
|
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.
|
|
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.
|
|
46
46
|
# COPY fonts/* /usr/share/fonts/
|
|
47
47
|
RUN mkdir -p /app/wb
|
|
48
48
|
RUN mkdir -p /app/grid_cache/streamcache
|
|
49
49
|
RUN mkdir -p /app/upload
|
|
50
50
|
COPY wb/*.xlsx /app/wb/
|
|
51
51
|
# RUN ls -l /app/
|
|
52
|
-
|
|
52
|
+
# ����Ӧ��
|
|
53
53
|
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app/app.jar"]
|
package/example/README.md
CHANGED
|
@@ -1,29 +1,39 @@
|
|
|
1
|
-
# Aspose.Cells
|
|
1
|
+
# Aspose.Cells for Java
|
|
2
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.
|
|
3
3
|
|
|
4
|
-
##
|
|
5
|
-
1.edit the properties in src\main\resources\application.properties
|
|
4
|
+
## Preview
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
testconfig.ListDir=/app/wb
|
|
6
|
+
<img alt='demo' src='https://unpkg.com/gridjs-spreadsheet@25.1.0/preview.gif' />
|
|
9
7
|
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
## How to Run the Examples
|
|
9
|
+
###1.edit the properties in src\main\resources\application.properties to meet your local environment
|
|
10
|
+
```properties
|
|
11
|
+
# This is the directory contains the spread sheet files
|
|
12
|
+
testconfig.ListDir=/app/wb
|
|
12
13
|
|
|
13
|
-
#Directory for storing cache files
|
|
14
|
+
# Directory for storing cache files
|
|
14
15
|
testconfig.CachePath=/app/grid_cache
|
|
15
16
|
|
|
16
|
-
|
|
17
|
+
# Directory for storing upload files
|
|
18
|
+
testconfig.UploadPath=/app/upload
|
|
17
19
|
|
|
18
|
-
|
|
20
|
+
# License file for Aspose.Cells
|
|
21
|
+
testconfig.AsposeLicensePath=/app/license
|
|
22
|
+
```
|
|
23
|
+
###2.run src\main\java\com\aspose\gridjs\demo\GridjsdemoApplication.java
|
|
19
24
|
|
|
20
|
-
|
|
25
|
+
open browser and navigate to view all the files in the directory at http://localhost:8080/gridjsdemo/list
|
|
21
26
|
|
|
22
|
-
|
|
27
|
+
## Step to run in docker
|
|
23
28
|
|
|
24
|
-
docker
|
|
29
|
+
1. docker build -t gridjs-demo-java .
|
|
25
30
|
|
|
26
|
-
|
|
31
|
+
2. run with aspose license file:
|
|
32
|
+
docker run -d -p 8080:8080 -v C:/path/to/license.txt:/app/license gridjs-demo-java
|
|
33
|
+
or just run the demo in trial mode:
|
|
34
|
+
docker run -d -p 8080:8080 gridjs-demo-java
|
|
35
|
+
|
|
36
|
+
3. open browser and enter the url: http://localhost:8080/gridjsdemo/list
|
|
27
37
|
|
|
28
38
|
## Resources
|
|
29
39
|
|
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>
|
|
@@ -74,27 +74,6 @@
|
|
|
74
74
|
<groupId>org.springframework.boot</groupId>
|
|
75
75
|
<artifactId>spring-boot-starter-test</artifactId>
|
|
76
76
|
<scope>test</scope>
|
|
77
|
-
<exclusions>
|
|
78
|
-
<exclusion>
|
|
79
|
-
<groupId>org.junit.vintage</groupId>
|
|
80
|
-
<artifactId>junit-vintage-engine</artifactId>
|
|
81
|
-
</exclusion>
|
|
82
|
-
</exclusions>
|
|
83
|
-
</dependency>
|
|
84
|
-
<!-- JUnit Jupiter for writing tests -->
|
|
85
|
-
<dependency>
|
|
86
|
-
<groupId>org.junit.jupiter</groupId>
|
|
87
|
-
<artifactId>junit-jupiter-api</artifactId>
|
|
88
|
-
<version>5.6.0</version>
|
|
89
|
-
<scope>test</scope>
|
|
90
|
-
</dependency>
|
|
91
|
-
|
|
92
|
-
<!-- JUnit Jupiter Engine for running tests -->
|
|
93
|
-
<dependency>
|
|
94
|
-
<groupId>org.junit.jupiter</groupId>
|
|
95
|
-
<artifactId>junit-jupiter-engine</artifactId>
|
|
96
|
-
<version>5.6.0</version>
|
|
97
|
-
<scope>test</scope>
|
|
98
77
|
</dependency>
|
|
99
78
|
</dependencies>
|
|
100
79
|
|
|
@@ -10,6 +10,8 @@ import com.aspose.cells.Workbook;
|
|
|
10
10
|
import com.aspose.gridjs.Config;
|
|
11
11
|
import com.aspose.gridjs.GridJsWorkbook;
|
|
12
12
|
|
|
13
|
+
import java.io.File;
|
|
14
|
+
|
|
13
15
|
import javax.annotation.PostConstruct;
|
|
14
16
|
|
|
15
17
|
|
|
@@ -81,9 +83,11 @@ public class GridjsdemoApplication {
|
|
|
81
83
|
|
|
82
84
|
MyConfig myConfig = context.getBean(MyConfig.class);
|
|
83
85
|
|
|
84
|
-
//set license for
|
|
86
|
+
//set license for Aspose.Cells
|
|
85
87
|
com.aspose.cells.License lic=new com.aspose.cells.License();
|
|
86
|
-
|
|
88
|
+
if ((new File(myConfig.asposeLicensePath)).exists()) {
|
|
89
|
+
lic.setLicense(myConfig.asposeLicensePath);
|
|
90
|
+
}
|
|
87
91
|
init(myConfig);
|
|
88
92
|
|
|
89
93
|
}
|
|
@@ -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
|
-
#
|
|
6
|
-
|
|
7
|
-
testconfig.
|
|
8
|
-
testconfig.
|
|
9
|
-
testconfig.
|
|
10
|
-
testconfig.
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
#testconfig.FileName=controls.xlsx
|
|
14
|
-
#testconfig.CachePath=/app/grid_cache
|
|
15
|
-
#testconfig.UploadPath=/app/upload
|
|
16
|
-
#testconfig.AsposeLicensePath=/app/aspose.lic
|
|
5
|
+
#testconfig.ListDir=D:\\codebase\\customerissue\\wb\\tempfromdownload\\
|
|
6
|
+
#for linux
|
|
7
|
+
testconfig.ListDir=/app/wb
|
|
8
|
+
testconfig.FileName=chart.xlsx
|
|
9
|
+
testconfig.CachePath=/app/grid_cache
|
|
10
|
+
testconfig.UploadPath=/app/upload
|
|
11
|
+
testconfig.AsposeLicensePath=/app/license
|
|
12
|
+
|
|
17
13
|
|
|
@@ -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,12 +51,13 @@ html, body {
|
|
|
52
51
|
<script src="/xspread/jszip.min.js"></script>
|
|
53
52
|
<!-- <script src="vconsole.min.js"></script> -->
|
|
54
53
|
<!--for local reference-->
|
|
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
|
<!--for release reference-->
|
|
59
|
-
|
|
60
|
-
<script src="https://unpkg.com/gridjs-spreadsheet
|
|
59
|
+
<link rel="stylesheet" href="https://unpkg.com/gridjs-spreadsheet/xspreadsheet.css">
|
|
60
|
+
<script src="https://unpkg.com/gridjs-spreadsheet/xspreadsheet.js"></script>
|
|
61
61
|
|
|
62
62
|
|
|
63
63
|
|
|
@@ -51,12 +51,14 @@ html, body {
|
|
|
51
51
|
<script src="/xspread/jszip.min.js"></script>
|
|
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
56
|
<script src="/xspread/xspreadsheet.js?v=20230525"></script>
|
|
57
|
+
-->
|
|
56
58
|
|
|
57
59
|
<!--for release reference-->
|
|
58
|
-
|
|
59
|
-
<script src="https://unpkg.com/gridjs-spreadsheet
|
|
60
|
+
<link rel="stylesheet" href="https://unpkg.com/gridjs-spreadsheet/xspreadsheet.css">
|
|
61
|
+
<script src="https://unpkg.com/gridjs-spreadsheet/xspreadsheet.js"></script>
|
|
60
62
|
|
|
61
63
|
|
|
62
64
|
|
|
@@ -71,18 +71,28 @@
|
|
|
71
71
|
const url = '/gridjsdemo/Uidtml?filename=' + filename+'&uid='+uid;
|
|
72
72
|
window.open(url, "_blank");
|
|
73
73
|
}
|
|
74
|
+
document.addEventListener('DOMContentLoaded', function() {
|
|
75
|
+
document.getElementById('fileInput').addEventListener('change', function(event) {
|
|
76
|
+
const file = event.target.files[0];
|
|
77
|
+
if (file) {
|
|
78
|
+
//console.log('文件已选择:', file.name);
|
|
79
|
+
document.getElementById('uploadForm').submit();
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
});
|
|
74
83
|
</script>
|
|
75
84
|
<!-- 文件上传表单 -->
|
|
76
85
|
|
|
77
86
|
<div class="upload-form">
|
|
78
|
-
<
|
|
87
|
+
<h4>Upload a local file to start show workbook</h4>
|
|
88
|
+
<form id="uploadForm" method="post" action="/gridjsdemo/upload" enctype="multipart/form-data" >
|
|
79
89
|
<!-- accept属性用于限定可接受的文件类型 -->
|
|
80
|
-
<input type="file" name="file" accept=".xlsx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" required/>
|
|
81
|
-
|
|
90
|
+
<input id="fileInput" type="file" name="file" accept=".xlsx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" required/>
|
|
91
|
+
|
|
82
92
|
</form>
|
|
83
93
|
</div>
|
|
84
94
|
<div class="file-list">
|
|
85
|
-
<
|
|
95
|
+
<h4>Navigate one of the below file to start show workbook</h4>
|
|
86
96
|
<div th:each="item : ${filelist}">
|
|
87
97
|
<a href="javascript:void(0)" target="_blank" th:data-filename="${item[0]}" th:data-uid="${item[1]}" onclick="openfile(this)">
|
|
88
98
|
<em th:text="${item[0]}"></em>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gridjs-spreadsheet",
|
|
3
|
-
"version": "25.
|
|
3
|
+
"version": "25.2.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
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
|
|
21
21
|
## Preview
|
|
22
22
|
|
|
23
|
-
<img alt='demo' src='https://unpkg.com/gridjs-spreadsheet@25.1.0/preview.gif'
|
|
23
|
+
<img alt='demo' src='https://unpkg.com/gridjs-spreadsheet@25.1.0/preview.gif' />
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
## API
|
|
@@ -37,8 +37,8 @@ APIs are available on the [API page](https://docs.aspose.com/cells/net/aspose-ce
|
|
|
37
37
|
<script src="https://unpkg.com/jquery-ui@1.13.2/dist/jquery-ui.min.js"></script>
|
|
38
38
|
<script src="https://unpkg.com/jszip@3.10.1/dist/jszip.min.js"></script>
|
|
39
39
|
<!-- other dependency end -->
|
|
40
|
-
<link rel="stylesheet" href="https://unpkg.com/gridjs-spreadsheet
|
|
41
|
-
<script src="https://unpkg.com/gridjs-spreadsheet
|
|
40
|
+
<link rel="stylesheet" href="https://unpkg.com/gridjs-spreadsheet/xspreadsheet.css">
|
|
41
|
+
<script src="https://unpkg.com/gridjs-spreadsheet/xspreadsheet.js"></script>
|
|
42
42
|
|
|
43
43
|
<script>
|
|
44
44
|
const option = {
|
|
@@ -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
|
|
@@ -289,6 +319,6 @@ MIT
|
|
|
289
319
|
|
|
290
320
|
## Support
|
|
291
321
|
|
|
292
|
-
You can ask any question or request features using the [Forum](https://forum.aspose.com/c/cells).
|
|
322
|
+
You can ask any question or request features or report bugs using the [Forum](https://forum.aspose.com/c/cells).
|
|
293
323
|
|
|
294
324
|
[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
|
@@ -145,14 +145,14 @@ body {
|
|
|
145
145
|
height: 60px;
|
|
146
146
|
margin: 10px;
|
|
147
147
|
background-repeat: no-repeat;
|
|
148
|
-
background-image: url(
|
|
148
|
+
background-image: url(9ab1b217edd126e8925e88cc8f25a154.svg);
|
|
149
149
|
}
|
|
150
150
|
.x-spreadsheet-banner-icon-s {
|
|
151
151
|
width: 30px;
|
|
152
152
|
height: 30px;
|
|
153
153
|
margin: 5px;
|
|
154
154
|
background-repeat: no-repeat;
|
|
155
|
-
background-image: url(
|
|
155
|
+
background-image: url(9ab1b217edd126e8925e88cc8f25a154.svg);
|
|
156
156
|
}
|
|
157
157
|
.x-spreadsheet-banner-filename {
|
|
158
158
|
width: max-content;
|
|
@@ -1274,7 +1274,7 @@ form fieldset select {
|
|
|
1274
1274
|
display: inline-block;
|
|
1275
1275
|
}
|
|
1276
1276
|
.x-spreadsheet-icon .x-spreadsheet-icon-img {
|
|
1277
|
-
background-image: url(
|
|
1277
|
+
background-image: url(2922578eabb1a88d1974da56c65189ba.svg);
|
|
1278
1278
|
position: absolute;
|
|
1279
1279
|
width: 262px;
|
|
1280
1280
|
height: 444px;
|