11
11
<input type="checkbox" id="chart"><label for="chart">Ignore Chart</label>
12
12
<input type="checkbox" id="image"><label for="image">Ignore Image</label>
13
13
<input type="checkbox" id="note"><label for="note">Ignore Note</label>
14
- <button id="save" onclick="saveFile()">Save with JSON Serialization</button>
15
14
</div>
15
+ @Html.EJS().Button("save").Content("Save with JSON Serialization").Render();
16
16
@Html.EJS().Spreadsheet("spreadsheet").OpenUrl("Open").AllowOpem(true).Render()
17
17
18
18
<style>
19
19
#Saveasjson {
20
20
margin-top: 10px;
21
21
margin-bottom: 20px;
22
22
}
23
-
23
+
24
24
#Saveasjson input[type="checkbox"] {
25
25
margin: 7px;
26
26
}
27
+
27
28
#Saveasjson label {
28
29
font-size: 14px;
29
30
}
61
62
return options;
62
63
}
63
64
64
- function saveFile() {
65
- let valueOnlyCheckbox = document.getElementById("valueOnly").checked;
66
- let options = valueOnlyCheckbox ? { onlyValues: true } : createOptions();
67
- var spreadsheetObj = document.getElementById("spreadsheet").ej2_instances[0];
68
- spreadsheetObj.saveAsJson(options).then((response) => {
69
- let formData = new FormData();
70
- formData.append('JSONData', JSON.stringify(response.jsonObject.Workbook));
71
- formData.append('fileName', 'Sample');
72
- formData.append('saveType', 'Xlsx');
73
- formData.append('pdfLayoutSettings', JSON.stringify({ fitSheetOnOnePage: false, orientation: 'Portrait' }));
74
- fetch('https://services.syncfusion.com/js/production/api/spreadsheet/save', {
75
- method: 'POST',
76
- body: formData,
77
- }).then((response) => {
78
- response.blob().then((data) => {
79
- let anchor = document.createElement('a');
80
- anchor.download = 'Sample.xlsx';
81
- let url = URL.createObjectURL(data);
82
- anchor.href = url;
83
- document.body.appendChild(anchor);
84
- anchor.click();
85
- URL.revokeObjectURL(url);
86
- document.body.removeChild(anchor);
87
- });
65
+ var saveElement = document.getElementById("save");
66
+ if (saveElement) {
67
+ // Save button click event listener
68
+ saveElement.onclick = () => {
69
+ var valueOnlyCheckbox = document.getElementById("valueOnly").checked;
70
+ var options = valueOnlyCheckbox ? { onlyValues: true } : createOptions();
71
+ var spreadsheetObj = document.getElementById("spreadsheet").ej2_instances[0];
72
+ spreadsheetObj.saveAsJson(options).then((response) => {
73
+ var formData = new FormData();
74
+ formData.append(
75
+ 'JSONData',
76
+ JSON.stringify(response.jsonObject.Workbook)
77
+ );
78
+ formData.append('fileName', 'Sample');
79
+ formData.append('saveType', 'Xlsx');
80
+ formData.append('pdfLayoutSettings', JSON.stringify({ fitSheetOnOnePage: false, orientation: 'Portrait' })),
81
+ fetch(
82
+ 'https://services.syncfusion.com/aspnet/production/api/spreadsheet/save',
83
+ {
84
+ method: 'POST',
85
+ body: formData,
86
+ }
87
+ ).then((response) => {
88
+ response.blob().then((data) => {
89
+ var anchor = ej.base.createElement('a', {
90
+ attrs: { download: 'Sample.xlsx' },
91
+ });
92
+ var url = URL.createObjectURL(data);
93
+ anchor.href = url;
94
+ document.body.appendChild(anchor);
95
+ anchor.click();
96
+ URL.revokeObjectURL(url);
97
+ document.body.removeChild(anchor);
98
+ });
99
+ });
88
100
});
89
- }) ;
101
+ };
90
102
}
91
103
</script>
0 commit comments