rapid-spreadjs 1.0.27 → 1.0.29

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/dist/index.cjs.js CHANGED
@@ -25,6 +25,77 @@ function _interopNamespaceDefault(e) {
25
25
  var echarts__namespace = /*#__PURE__*/_interopNamespaceDefault(echarts);
26
26
  var math__namespace = /*#__PURE__*/_interopNamespaceDefault(math);
27
27
 
28
+ /******************************************************************************
29
+ Copyright (c) Microsoft Corporation.
30
+
31
+ Permission to use, copy, modify, and/or distribute this software for any
32
+ purpose with or without fee is hereby granted.
33
+
34
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
35
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
36
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
37
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
38
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
39
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
40
+ PERFORMANCE OF THIS SOFTWARE.
41
+ ***************************************************************************** */
42
+ /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
43
+
44
+
45
+ function __awaiter(thisArg, _arguments, P, generator) {
46
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
47
+ return new (P || (P = Promise))(function (resolve, reject) {
48
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
49
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
50
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
51
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
52
+ });
53
+ }
54
+
55
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
56
+ var e = new Error(message);
57
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
58
+ };
59
+
60
+ /**
61
+ * 公用工具函数属性
62
+ */
63
+ const CommonUtils = {
64
+ /**
65
+ * 获取文件的字节流对象
66
+ * @param fileUrl 在线文件地址
67
+ * @returns 文件的字节流对象
68
+ */
69
+ getFileBlob: (fileUrl) => __awaiter(void 0, void 0, void 0, function* () {
70
+ // 获取文件响应结果
71
+ const response = yield fetch(fileUrl, { method: 'GET' });
72
+ // 获取成功
73
+ if (response.ok) {
74
+ // 文件的字节流对象
75
+ const blob = yield response.blob();
76
+ return blob;
77
+ }
78
+ else {
79
+ return null;
80
+ }
81
+ }),
82
+ /**
83
+ * 获取列的英文字母
84
+ * @param colIndex 列的索引
85
+ * @returns 返回英文字母
86
+ */
87
+ getColLetterName: (colIndex) => {
88
+ colIndex += 1;
89
+ let letter = '';
90
+ while (colIndex > 0) {
91
+ const remainder = (colIndex - 1) % 26;
92
+ letter = String.fromCharCode(remainder + 65) + letter;
93
+ colIndex = Math.floor((colIndex - 1) / 26);
94
+ }
95
+ return letter.toUpperCase();
96
+ },
97
+ };
98
+
28
99
  // 导入rapid-utils中的函数(注意:需要在tsconfig.json文件中设置moduleResolution为node,否则会提示:找不到模块“rapid-utils”。你的意思是要将 "moduleResolution" 选项设置为 "nodenext",还是要将别名添加到 "paths" 选项中?ts(2792))
29
100
  /**
30
101
  * SpreadJS工作表工具函数属性
@@ -505,6 +576,24 @@ const SheetUtils = {
505
576
  sheet.setStyle(item.row, item.col, cellStyle);
506
577
  });
507
578
  },
579
+ /**
580
+ * 根据单元格范围获取范围字符串
581
+ * @param cellRange 单元格范围
582
+ * @returns 返回范围字符串,如:A1:B2
583
+ */
584
+ getRangeStr: (cellRange) => {
585
+ // 计算起始位置
586
+ const startCol = CommonUtils.getColLetterName(cellRange.col);
587
+ // 行索引转Excel行号(从1开始)
588
+ const startRow = cellRange.row + 1;
589
+ // 计算结束位置
590
+ const endCol = CommonUtils.getColLetterName(cellRange.col + cellRange.colCount - 1);
591
+ // 结束行号 = 起始行 + 行数
592
+ const endRow = cellRange.row + cellRange.rowCount;
593
+ return `${startCol}${startRow}:${endCol}${endRow}`;
594
+ // // 或者使用SpreadJS提供的方法rangeToFormula
595
+ // return GC.Spread.Sheets.CalcEngine.rangeToFormula(cellRange);
596
+ },
508
597
  };
509
598
 
510
599
  /**
@@ -628,77 +717,6 @@ const BusinessUtils = {
628
717
  },
629
718
  };
630
719
 
631
- /******************************************************************************
632
- Copyright (c) Microsoft Corporation.
633
-
634
- Permission to use, copy, modify, and/or distribute this software for any
635
- purpose with or without fee is hereby granted.
636
-
637
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
638
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
639
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
640
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
641
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
642
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
643
- PERFORMANCE OF THIS SOFTWARE.
644
- ***************************************************************************** */
645
- /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
646
-
647
-
648
- function __awaiter(thisArg, _arguments, P, generator) {
649
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
650
- return new (P || (P = Promise))(function (resolve, reject) {
651
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
652
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
653
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
654
- step((generator = generator.apply(thisArg, _arguments || [])).next());
655
- });
656
- }
657
-
658
- typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
659
- var e = new Error(message);
660
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
661
- };
662
-
663
- /**
664
- * 公用工具函数属性
665
- */
666
- const CommonUtils = {
667
- /**
668
- * 获取文件的字节流对象
669
- * @param fileUrl 在线文件地址
670
- * @returns 文件的字节流对象
671
- */
672
- getFileBlob: (fileUrl) => __awaiter(void 0, void 0, void 0, function* () {
673
- // 获取文件响应结果
674
- const response = yield fetch(fileUrl, { method: 'GET' });
675
- // 获取成功
676
- if (response.ok) {
677
- // 文件的字节流对象
678
- const blob = yield response.blob();
679
- return blob;
680
- }
681
- else {
682
- return null;
683
- }
684
- }),
685
- /**
686
- * 获取列的英文字母
687
- * @param colIndex 列的索引
688
- * @returns 返回英文字母
689
- */
690
- getColLetterName: (colIndex) => {
691
- colIndex += 1;
692
- let letter = '';
693
- while (colIndex > 0) {
694
- const remainder = (colIndex - 1) % 26;
695
- letter = String.fromCharCode(remainder + 65) + letter;
696
- colIndex = Math.floor((colIndex - 1) / 26);
697
- }
698
- return letter.toUpperCase();
699
- },
700
- };
701
-
702
720
  /**
703
721
  * 公用方法,如:修约计算等
704
722
  */
@@ -8178,6 +8196,71 @@ const WorkbookUtils = {
8178
8196
  WorkbookUtils.exportToExcel(GC, mainWorkbook, exportName);
8179
8197
  return mainWorkbook;
8180
8198
  }),
8199
+ /**
8200
+ * 注册字体(主要为导出PDF使用)
8201
+ * @param GC Spread的GC对象
8202
+ * @param regFonts 字体配置集合
8203
+ */
8204
+ registerFont: (GC, regFonts) => __awaiter(void 0, void 0, void 0, function* () {
8205
+ // 基于fetch
8206
+ return new Promise((resolve, reject) => __awaiter(void 0, void 0, void 0, function* () {
8207
+ try {
8208
+ if (!regFonts || regFonts.length == 0) {
8209
+ resolve(null);
8210
+ }
8211
+ for (let i = 0; i < regFonts.length; i++) {
8212
+ const font = regFonts[i];
8213
+ const response = yield fetch(font.url, { method: 'GET' });
8214
+ if (response.ok) {
8215
+ const blob = yield response.blob();
8216
+ var reader = new FileReader();
8217
+ reader.readAsArrayBuffer(blob);
8218
+ reader.onload = function (e) {
8219
+ var fontArrayBuffer = reader.result;
8220
+ var fonts = {};
8221
+ fonts[font.type] = fontArrayBuffer;
8222
+ GC.Spread.Sheets.PDF.PDFFontsManager.registerFont(font.name, fonts);
8223
+ resolve(blob);
8224
+ };
8225
+ }
8226
+ }
8227
+ }
8228
+ catch (error) {
8229
+ reject(error);
8230
+ }
8231
+ }));
8232
+ // 基于XMLHttpRequest
8233
+ // return new Promise((resolve, reject) => {
8234
+ // try {
8235
+ // if (!regFonts || regFonts.length == 0) {
8236
+ // resolve(null);
8237
+ // }
8238
+ // for (let i = 0; i < regFonts.length; i++) {
8239
+ // const font = regFonts[i];
8240
+ // var xhr = new XMLHttpRequest();
8241
+ // xhr.open('GET', font.url, true);
8242
+ // xhr.responseType = 'blob';
8243
+ // xhr.onload = function (e) {
8244
+ // if (this.status == 200) {
8245
+ // var blob = this.response;
8246
+ // var reader = new FileReader();
8247
+ // reader.onload = function (e) {
8248
+ // var fontArrayBuffer = reader.result;
8249
+ // var fonts = {};
8250
+ // fonts[font.type] = fontArrayBuffer;
8251
+ // GC.Spread.Sheets.PDF.PDFFontsManager.registerFont(font.name, fonts);
8252
+ // resolve(blob);
8253
+ // };
8254
+ // reader.readAsArrayBuffer(blob);
8255
+ // }
8256
+ // };
8257
+ // xhr.send();
8258
+ // }
8259
+ // } catch (error) {
8260
+ // reject(error);
8261
+ // }
8262
+ // });
8263
+ }),
8181
8264
  };
8182
8265
 
8183
8266
  exports.BusinessUtils = BusinessUtils;