@corbe30/fortune-excel 1.0.3 → 1.0.5

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.
@@ -10,16 +10,23 @@ var fillConvert = function (bg) {
10
10
  // }
11
11
  }
12
12
  bg = bg.indexOf("rgb") > -1 ? rgb2hex(bg) : bg;
13
- let fill = {
13
+ var fill = {
14
14
  type: "pattern",
15
15
  pattern: "solid",
16
16
  fgColor: { argb: bg.replace("#", "") },
17
17
  };
18
18
  return fill;
19
19
  };
20
- var fontConvert = function (ff = "", fc = "#000000", bl = 0, it = 0, fs = 10, cl = 0, ul = 0) {
20
+ var fontConvert = function (ff, fc, bl, it, fs, cl, ul) {
21
+ if (ff === void 0) { ff = ""; }
22
+ if (fc === void 0) { fc = "#000000"; }
23
+ if (bl === void 0) { bl = 0; }
24
+ if (it === void 0) { it = 0; }
25
+ if (fs === void 0) { fs = 10; }
26
+ if (cl === void 0) { cl = 0; }
27
+ if (ul === void 0) { ul = 0; }
21
28
  // luckysheet:ff(样式), fc(颜色), bl(粗体), it(斜体), fs(大小), cl(删除线), ul(下划线)
22
- const luckyToExcel = {
29
+ var luckyToExcel = {
23
30
  0: "微软雅黑",
24
31
  1: "宋体(Song)",
25
32
  2: "黑体(ST Heiti)",
@@ -37,8 +44,8 @@ var fontConvert = function (ff = "", fc = "#000000", bl = 0, it = 0, fs = 10, cl
37
44
  return num === 0 ? false : true;
38
45
  },
39
46
  };
40
- let color = (fc + "").indexOf("rgb") > -1 ? rgb2hex(fc) : fc;
41
- let font = {
47
+ var color = (fc + "").indexOf("rgb") > -1 ? rgb2hex(fc) : fc;
48
+ var font = {
42
49
  name: ff,
43
50
  family: 1,
44
51
  size: fs,
@@ -50,9 +57,13 @@ var fontConvert = function (ff = "", fc = "#000000", bl = 0, it = 0, fs = 10, cl
50
57
  };
51
58
  return font;
52
59
  };
53
- var alignmentConvert = function (vt = ALIGNMENT_DEFAULT, ht = ALIGNMENT_DEFAULT, tb = ALIGNMENT_DEFAULT, tr = ALIGNMENT_DEFAULT) {
60
+ var alignmentConvert = function (vt, ht, tb, tr) {
61
+ if (vt === void 0) { vt = ALIGNMENT_DEFAULT; }
62
+ if (ht === void 0) { ht = ALIGNMENT_DEFAULT; }
63
+ if (tb === void 0) { tb = ALIGNMENT_DEFAULT; }
64
+ if (tr === void 0) { tr = ALIGNMENT_DEFAULT; }
54
65
  // luckysheet:vt(垂直), ht(水平), tb(换行), tr(旋转)
55
- const luckyToExcel = {
66
+ var luckyToExcel = {
56
67
  vertical: {
57
68
  0: "middle",
58
69
  1: "top",
@@ -81,7 +92,7 @@ var alignmentConvert = function (vt = ALIGNMENT_DEFAULT, ht = ALIGNMENT_DEFAULT,
81
92
  ALIGNMENT_DEFAULT: 0,
82
93
  },
83
94
  };
84
- let alignment = {
95
+ var alignment = {
85
96
  vertical: luckyToExcel.vertical[vt],
86
97
  horizontal: luckyToExcel.horizontal[ht],
87
98
  wrapText: luckyToExcel.wrapText[tb],
@@ -1,30 +1,74 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
1
37
  import ExcelJS from "exceljs";
2
38
  import * as fileSaver from "file-saver";
3
39
  import { setStyleAndValue } from "./ExcelStyle.js";
4
40
  import { setMerge } from "../common/method.js";
5
41
  import { setImages } from "./ExcelImage.js";
6
42
  import { setBorder } from "./ExcelBorder.js";
7
- export async function exportSheetExcel(luckysheetRef) {
8
- const luckysheet = luckysheetRef.getAllSheets();
9
- // 参数为luckysheet.getluckysheetfile()获取的对象
10
- // 1.创建工作簿,可以为工作簿添加属性
11
- const workbook = new ExcelJS.Workbook();
12
- // 2.创建表格,第二个参数可以配置创建什么样的工作表
13
- luckysheet.every(function (table) {
14
- var _a, _b;
15
- if (((_a = table === null || table === void 0 ? void 0 : table.data) === null || _a === void 0 ? void 0 : _a.length) === 0)
16
- return true;
17
- const worksheet = workbook.addWorksheet(table.name);
18
- // 3.设置单元格合并,设置单元格边框,设置单元格样式,设置值
19
- setStyleAndValue(luckysheetRef, table.data, worksheet);
20
- setMerge((_b = table === null || table === void 0 ? void 0 : table.config) === null || _b === void 0 ? void 0 : _b.merge, worksheet);
21
- setBorder(table, worksheet);
22
- setImages(table, worksheet, workbook);
23
- return true;
43
+ export function exportSheetExcel(luckysheetRef) {
44
+ return __awaiter(this, void 0, void 0, function () {
45
+ var luckysheet, workbook, buffer, fileData;
46
+ return __generator(this, function (_a) {
47
+ switch (_a.label) {
48
+ case 0:
49
+ luckysheet = luckysheetRef.getAllSheets();
50
+ workbook = new ExcelJS.Workbook();
51
+ // 2.创建表格,第二个参数可以配置创建什么样的工作表
52
+ luckysheet.every(function (table) {
53
+ var _a, _b;
54
+ if (((_a = table === null || table === void 0 ? void 0 : table.data) === null || _a === void 0 ? void 0 : _a.length) === 0)
55
+ return true;
56
+ var worksheet = workbook.addWorksheet(table.name);
57
+ // 3.设置单元格合并,设置单元格边框,设置单元格样式,设置值
58
+ setStyleAndValue(luckysheetRef, table.data, worksheet);
59
+ setMerge((_b = table === null || table === void 0 ? void 0 : table.config) === null || _b === void 0 ? void 0 : _b.merge, worksheet);
60
+ setBorder(table, worksheet);
61
+ setImages(table, worksheet, workbook);
62
+ return true;
63
+ });
64
+ return [4 /*yield*/, workbook.xlsx.writeBuffer()];
65
+ case 1:
66
+ buffer = _a.sent();
67
+ fileData = new Blob([buffer]);
68
+ // 5.保存为文件
69
+ fileSaver.saveAs(fileData, "abc.xlsx");
70
+ return [2 /*return*/];
71
+ }
72
+ });
24
73
  });
25
- // 4.写入 buffer
26
- const buffer = await workbook.xlsx.writeBuffer();
27
- const fileData = new Blob([buffer]);
28
- // 5.保存为文件
29
- fileSaver.saveAs(fileData, "abc.xlsx");
30
74
  }
@@ -1,9 +1,20 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
1
12
  //获取图片在单元格的位置
2
13
  var getImagePosition = function (num, arr) {
3
- let index = 0;
4
- let minIndex;
5
- let maxIndex;
6
- for (let i = 0; i < arr.length; i++) {
14
+ var index = 0;
15
+ var minIndex;
16
+ var maxIndex;
17
+ for (var i = 0; i < arr.length; i++) {
7
18
  if (num < arr[i]) {
8
19
  index = i;
9
20
  break;
@@ -22,29 +33,28 @@ var getImagePosition = function (num, arr) {
22
33
  minIndex = index - 1;
23
34
  maxIndex = index;
24
35
  }
25
- let min = arr[minIndex];
26
- let max = arr[maxIndex];
27
- let radio = Math.abs((num - min) / (max - min)) + index;
36
+ var min = arr[minIndex];
37
+ var max = arr[maxIndex];
38
+ var radio = Math.abs((num - min) / (max - min)) + index;
28
39
  return radio;
29
40
  };
30
41
  var setImages = function (table, worksheet, workbook) {
31
- const localTable = Object.assign({}, table);
32
- let { images, visibledatacolumn, //所有行的位置
33
- visibledatarow, //所有列的位置
34
- } = localTable;
42
+ var localTable = __assign({}, table);
43
+ var images = localTable.images, visibledatacolumn = localTable.visibledatacolumn, //所有行的位置
44
+ visibledatarow = localTable.visibledatarow;
35
45
  if (typeof images != "object")
36
46
  return;
37
- for (let key in images) {
47
+ for (var key in images) {
38
48
  // 通过 base64 将图像添加到工作簿
39
- const myBase64Image = images[key].src;
49
+ var myBase64Image = images[key].src;
40
50
  //开始行 开始列 结束行 结束列
41
- const item = images[key];
42
- const imageId = workbook.addImage({
51
+ var item = images[key];
52
+ var imageId = workbook.addImage({
43
53
  base64: myBase64Image,
44
54
  extension: "png",
45
55
  });
46
- const col_st = getImagePosition(item.default.left, visibledatacolumn);
47
- const row_st = getImagePosition(item.default.top, visibledatarow);
56
+ var col_st = getImagePosition(item.default.left, visibledatacolumn);
57
+ var row_st = getImagePosition(item.default.top, visibledatarow);
48
58
  //模式1,图片左侧与luckysheet位置一样,像素比例保持不变,但是,右侧位置可能与原图所在单元格不一致
49
59
  worksheet.addImage(imageId, {
50
60
  tl: { col: col_st, row: row_st },
@@ -3,21 +3,21 @@ var setStyleAndValue = function (luckysheet, cellArr, worksheet) {
3
3
  if (!Array.isArray(cellArr))
4
4
  return;
5
5
  cellArr.forEach(function (row, rowid) {
6
- const dbrow = worksheet.getRow(rowid + 1);
6
+ var dbrow = worksheet.getRow(rowid + 1);
7
7
  //设置单元格行高,默认乘以1.2倍
8
8
  dbrow.height = luckysheet.getRowHeight([rowid])[rowid] / 1.2;
9
9
  row.every(function (cell, columnid) {
10
10
  if (!cell)
11
11
  return true;
12
12
  if (rowid == 0) {
13
- const dobCol = worksheet.getColumn(columnid + 1);
13
+ var dobCol = worksheet.getColumn(columnid + 1);
14
14
  //设置单元格列宽除以8
15
15
  dobCol.width = luckysheet.getColumnWidth([columnid])[columnid] / 8;
16
16
  }
17
- let fill = fillConvert(cell.bg);
18
- let font = fontConvert(cell.ff, cell.fc, cell.bl, cell.it, cell.fs, cell.cl, cell.un);
19
- let alignment = alignmentConvert(cell.vt, cell.ht, cell.tb && parseInt(cell.tb, 10), cell.tr && parseInt(cell.tr, 10));
20
- let value;
17
+ var fill = fillConvert(cell.bg);
18
+ var font = fontConvert(cell.ff, cell.fc, cell.bl, cell.it, cell.fs, cell.cl, cell.un);
19
+ var alignment = alignmentConvert(cell.vt, cell.ht, cell.tb && parseInt(cell.tb, 10), cell.tr && parseInt(cell.tr, 10));
20
+ var value;
21
21
  var v = "";
22
22
  // TODO: check and add support for currency, boolean, date format
23
23
  if (cell.ct && cell.ct.t == "inlineStr") {
@@ -41,7 +41,7 @@ var setStyleAndValue = function (luckysheet, cellArr, worksheet) {
41
41
  else {
42
42
  value = v;
43
43
  }
44
- let target = worksheet.getCell(rowid + 1, columnid + 1);
44
+ var target = worksheet.getCell(rowid + 1, columnid + 1);
45
45
  target.fill = fill;
46
46
  target.font = font;
47
47
  target.alignment = alignment;
@@ -1,28 +1,84 @@
1
- export class FortuneFileBase {
2
- }
3
- export class FortuneSheetBase {
4
- }
5
- export class FortuneFileInfo {
6
- }
7
- export class FortuneSheetCelldataBase {
8
- }
9
- export class FortuneSheetCelldataValue {
10
- }
11
- export class FortuneSheetCellFormat {
12
- }
13
- export class FortuneInlineString {
14
- }
15
- export class FortuneConfig {
16
- }
17
- export class FortuneSheetborderInfoCellForImp {
18
- }
19
- export class FortuneSheetborderInfoCellValue {
20
- }
21
- export class FortuneSheetborderInfoCellValueStyle {
22
- }
23
- export class FortuneSheetConfigMerge {
24
- }
25
- export class FortunesheetCalcChain {
26
- }
27
- export class FortuneImageBase {
28
- }
1
+ var FortuneFileBase = /** @class */ (function () {
2
+ function FortuneFileBase() {
3
+ }
4
+ return FortuneFileBase;
5
+ }());
6
+ export { FortuneFileBase };
7
+ var FortuneSheetBase = /** @class */ (function () {
8
+ function FortuneSheetBase() {
9
+ }
10
+ return FortuneSheetBase;
11
+ }());
12
+ export { FortuneSheetBase };
13
+ var FortuneFileInfo = /** @class */ (function () {
14
+ function FortuneFileInfo() {
15
+ }
16
+ return FortuneFileInfo;
17
+ }());
18
+ export { FortuneFileInfo };
19
+ var FortuneSheetCelldataBase = /** @class */ (function () {
20
+ function FortuneSheetCelldataBase() {
21
+ }
22
+ return FortuneSheetCelldataBase;
23
+ }());
24
+ export { FortuneSheetCelldataBase };
25
+ var FortuneSheetCelldataValue = /** @class */ (function () {
26
+ function FortuneSheetCelldataValue() {
27
+ }
28
+ return FortuneSheetCelldataValue;
29
+ }());
30
+ export { FortuneSheetCelldataValue };
31
+ var FortuneSheetCellFormat = /** @class */ (function () {
32
+ function FortuneSheetCellFormat() {
33
+ }
34
+ return FortuneSheetCellFormat;
35
+ }());
36
+ export { FortuneSheetCellFormat };
37
+ var FortuneInlineString = /** @class */ (function () {
38
+ function FortuneInlineString() {
39
+ }
40
+ return FortuneInlineString;
41
+ }());
42
+ export { FortuneInlineString };
43
+ var FortuneConfig = /** @class */ (function () {
44
+ function FortuneConfig() {
45
+ }
46
+ return FortuneConfig;
47
+ }());
48
+ export { FortuneConfig };
49
+ var FortuneSheetborderInfoCellForImp = /** @class */ (function () {
50
+ function FortuneSheetborderInfoCellForImp() {
51
+ }
52
+ return FortuneSheetborderInfoCellForImp;
53
+ }());
54
+ export { FortuneSheetborderInfoCellForImp };
55
+ var FortuneSheetborderInfoCellValue = /** @class */ (function () {
56
+ function FortuneSheetborderInfoCellValue() {
57
+ }
58
+ return FortuneSheetborderInfoCellValue;
59
+ }());
60
+ export { FortuneSheetborderInfoCellValue };
61
+ var FortuneSheetborderInfoCellValueStyle = /** @class */ (function () {
62
+ function FortuneSheetborderInfoCellValueStyle() {
63
+ }
64
+ return FortuneSheetborderInfoCellValueStyle;
65
+ }());
66
+ export { FortuneSheetborderInfoCellValueStyle };
67
+ var FortuneSheetConfigMerge = /** @class */ (function () {
68
+ function FortuneSheetConfigMerge() {
69
+ }
70
+ return FortuneSheetConfigMerge;
71
+ }());
72
+ export { FortuneSheetConfigMerge };
73
+ var FortunesheetCalcChain = /** @class */ (function () {
74
+ function FortunesheetCalcChain() {
75
+ }
76
+ return FortunesheetCalcChain;
77
+ }());
78
+ export { FortunesheetCalcChain };
79
+ var FortuneImageBase = /** @class */ (function () {
80
+ function FortuneImageBase() {
81
+ }
82
+ return FortuneImageBase;
83
+ }());
84
+ export { FortuneImageBase };