@corbe30/fortune-excel 1.0.6 → 1.0.7
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/README.md +1 -1
- package/dist/ImportHelper.js +1 -1
- package/dist/ToExcel/ExcelFile.js +2 -2
- package/dist/ToExcel/ExcelImage.js +26 -3
- package/dist/ToExcel/ExcelStyle.d.ts +1 -1
- package/dist/ToExcel/ExcelStyle.js +36 -4
- package/dist/ToolbarItem.js +2 -2
- package/dist/icons/ExportIcon.js +2 -2
- package/dist/icons/ImportIcon.js +2 -2
- package/package.json +2 -2
package/README.md
CHANGED
package/dist/ImportHelper.js
CHANGED
|
@@ -38,7 +38,7 @@ import React from "react";
|
|
|
38
38
|
import { transformExcelToFortune } from "./Transform.js";
|
|
39
39
|
export var ImportHelper = function (props) {
|
|
40
40
|
var setSheets = props.setSheets, setKey = props.setKey, sheetRef = props.sheetRef;
|
|
41
|
-
return (React.createElement("input", { type: "file", id: "ImportHelper", onChange: function (e) { return __awaiter(void 0, void 0, void 0, function () {
|
|
41
|
+
return (React.createElement("input", { type: "file", id: "ImportHelper", accept: ".xlsx", onChange: function (e) { return __awaiter(void 0, void 0, void 0, function () {
|
|
42
42
|
return __generator(this, function (_a) {
|
|
43
43
|
switch (_a.label) {
|
|
44
44
|
case 0: return [4 /*yield*/, transformExcelToFortune(e, setSheets, setKey, sheetRef)];
|
|
@@ -55,7 +55,7 @@ export function exportSheetExcel(luckysheetRef) {
|
|
|
55
55
|
return true;
|
|
56
56
|
var worksheet = workbook.addWorksheet(table.name);
|
|
57
57
|
// 3.设置单元格合并,设置单元格边框,设置单元格样式,设置值
|
|
58
|
-
setStyleAndValue(luckysheetRef, table
|
|
58
|
+
setStyleAndValue(luckysheetRef, table, worksheet);
|
|
59
59
|
setMerge((_b = table === null || table === void 0 ? void 0 : table.config) === null || _b === void 0 ? void 0 : _b.merge, worksheet);
|
|
60
60
|
setBorder(table, worksheet);
|
|
61
61
|
setImages(table, worksheet, workbook);
|
|
@@ -66,7 +66,7 @@ export function exportSheetExcel(luckysheetRef) {
|
|
|
66
66
|
buffer = _a.sent();
|
|
67
67
|
fileData = new Blob([buffer]);
|
|
68
68
|
// 5.保存为文件
|
|
69
|
-
fileSaver.saveAs(fileData, "
|
|
69
|
+
fileSaver.saveAs(fileData, "".concat(luckysheetRef.getSheet().name, ".xlsx"));
|
|
70
70
|
return [2 /*return*/];
|
|
71
71
|
}
|
|
72
72
|
});
|
|
@@ -39,6 +39,7 @@ var getImagePosition = function (num, arr) {
|
|
|
39
39
|
return radio;
|
|
40
40
|
};
|
|
41
41
|
var setImages = function (table, worksheet, workbook) {
|
|
42
|
+
var _a, _b, _c, _d;
|
|
42
43
|
var localTable = __assign({}, table);
|
|
43
44
|
var images = localTable.images, visibledatacolumn = localTable.visibledatacolumn, //所有行的位置
|
|
44
45
|
visibledatarow = localTable.visibledatarow;
|
|
@@ -53,12 +54,34 @@ var setImages = function (table, worksheet, workbook) {
|
|
|
53
54
|
base64: myBase64Image,
|
|
54
55
|
extension: "png",
|
|
55
56
|
});
|
|
56
|
-
|
|
57
|
-
|
|
57
|
+
if (!visibledatacolumn || !visibledatarow) {
|
|
58
|
+
var defaultColWidth = localTable.defaultColWidth || 73;
|
|
59
|
+
var defaultRowHeight = localTable.defaultRowHeight || 19;
|
|
60
|
+
var rowCount = localTable.data.length;
|
|
61
|
+
var colCount = localTable.data[0].length;
|
|
62
|
+
visibledatacolumn = [];
|
|
63
|
+
visibledatarow = [];
|
|
64
|
+
var lastVal = 0;
|
|
65
|
+
for (var i = 0; i < rowCount; i++) {
|
|
66
|
+
var rowHeight = (((_b = (_a = localTable.config) === null || _a === void 0 ? void 0 : _a.rowlen) === null || _b === void 0 ? void 0 : _b[i]) || defaultRowHeight);
|
|
67
|
+
var rowPosition = lastVal + rowHeight;
|
|
68
|
+
visibledatarow.push(rowPosition);
|
|
69
|
+
lastVal = rowPosition;
|
|
70
|
+
}
|
|
71
|
+
lastVal = 0;
|
|
72
|
+
for (var i = 0; i < colCount; i++) {
|
|
73
|
+
var colWidth = (((_d = (_c = localTable.config) === null || _c === void 0 ? void 0 : _c.columnlen) === null || _d === void 0 ? void 0 : _d[i]) || defaultColWidth);
|
|
74
|
+
var colPosition = lastVal + colWidth;
|
|
75
|
+
visibledatacolumn.push(colPosition);
|
|
76
|
+
lastVal = colPosition;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
var col_st = getImagePosition(item.left, visibledatacolumn);
|
|
80
|
+
var row_st = getImagePosition(item.top, visibledatarow);
|
|
58
81
|
//模式1,图片左侧与luckysheet位置一样,像素比例保持不变,但是,右侧位置可能与原图所在单元格不一致
|
|
59
82
|
worksheet.addImage(imageId, {
|
|
60
83
|
tl: { col: col_st, row: row_st },
|
|
61
|
-
ext: { width: item.
|
|
84
|
+
ext: { width: item.width, height: item.height },
|
|
62
85
|
});
|
|
63
86
|
//模式2,图片四个角位置没有变动,但是图片像素比例可能和原图不一样
|
|
64
87
|
// const w_ed = item.default.left+item.default.width;
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import { fillConvert, fontConvert, alignmentConvert } from "./ExcelConvert.js";
|
|
2
|
-
var
|
|
2
|
+
var isTime = function (d) {
|
|
3
|
+
return d === "hh:mm";
|
|
4
|
+
};
|
|
5
|
+
var formatHyperlink = function (address) {
|
|
6
|
+
var sheetCell = address.split("!");
|
|
7
|
+
return "#'".concat(sheetCell[0], "'!").concat(sheetCell[1] || "A1");
|
|
8
|
+
};
|
|
9
|
+
var setStyleAndValue = function (luckysheet, table, worksheet) {
|
|
10
|
+
var cellArr = table === null || table === void 0 ? void 0 : table.data;
|
|
3
11
|
if (!Array.isArray(cellArr))
|
|
4
12
|
return;
|
|
5
13
|
cellArr.forEach(function (row, rowid) {
|
|
@@ -7,6 +15,7 @@ var setStyleAndValue = function (luckysheet, cellArr, worksheet) {
|
|
|
7
15
|
//设置单元格行高,默认乘以1.2倍
|
|
8
16
|
dbrow.height = luckysheet.getRowHeight([rowid])[rowid] / 1.2;
|
|
9
17
|
row.every(function (cell, columnid) {
|
|
18
|
+
var _a;
|
|
10
19
|
if (!cell)
|
|
11
20
|
return true;
|
|
12
21
|
if (rowid == 0) {
|
|
@@ -19,8 +28,23 @@ var setStyleAndValue = function (luckysheet, cellArr, worksheet) {
|
|
|
19
28
|
var alignment = alignmentConvert(cell.vt, cell.ht, cell.tb && parseInt(cell.tb, 10), cell.tr && parseInt(cell.tr, 10));
|
|
20
29
|
var value;
|
|
21
30
|
var v = "";
|
|
22
|
-
|
|
23
|
-
if (cell.
|
|
31
|
+
var numFmt = undefined;
|
|
32
|
+
if (cell.hl) {
|
|
33
|
+
var hlData = (_a = table.hyperlink) === null || _a === void 0 ? void 0 : _a["".concat(cell.hl.r, "_").concat(cell.hl.c)];
|
|
34
|
+
if ((hlData === null || hlData === void 0 ? void 0 : hlData.linkType) === "webpage") {
|
|
35
|
+
v = {
|
|
36
|
+
text: cell.v,
|
|
37
|
+
hyperlink: hlData === null || hlData === void 0 ? void 0 : hlData.linkAddress,
|
|
38
|
+
tooltip: cell.v,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
// will not work in Google Sheets but will work in excel (open issue in exceljs)
|
|
42
|
+
else if (hlData.linkType === "cellrange" ||
|
|
43
|
+
hlData.linkType === "sheet") {
|
|
44
|
+
v = { text: cell.v, hyperlink: formatHyperlink(hlData === null || hlData === void 0 ? void 0 : hlData.linkAddress) };
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else if (cell.ct && cell.ct.t == "inlineStr") {
|
|
24
48
|
var s = cell.ct.s;
|
|
25
49
|
s.forEach(function (val, num) {
|
|
26
50
|
v += val.v;
|
|
@@ -28,11 +52,18 @@ var setStyleAndValue = function (luckysheet, cellArr, worksheet) {
|
|
|
28
52
|
}
|
|
29
53
|
else if (cell.ct && cell.ct.t == "n") {
|
|
30
54
|
v = +cell.v;
|
|
55
|
+
if (cell.ct !== "General")
|
|
56
|
+
numFmt = cell.ct.fa;
|
|
57
|
+
}
|
|
58
|
+
else if (cell.ct.t == "d") {
|
|
59
|
+
var mockDate = isTime(cell.ct.fa) ? "2000-01-01 " : "";
|
|
60
|
+
v = new Date(mockDate + cell.m);
|
|
61
|
+
numFmt = cell.ct.fa;
|
|
31
62
|
}
|
|
32
63
|
else {
|
|
33
64
|
v = cell.v;
|
|
34
65
|
}
|
|
35
|
-
if (cell.f) {
|
|
66
|
+
if (cell.f && typeof v !== "object") {
|
|
36
67
|
value = {
|
|
37
68
|
formula: cell.f.startsWith("=") ? cell.f.slice(1) : cell.f,
|
|
38
69
|
result: v,
|
|
@@ -46,6 +77,7 @@ var setStyleAndValue = function (luckysheet, cellArr, worksheet) {
|
|
|
46
77
|
target.font = font;
|
|
47
78
|
target.alignment = alignment;
|
|
48
79
|
target.value = value;
|
|
80
|
+
target.numFmt = numFmt;
|
|
49
81
|
return true;
|
|
50
82
|
});
|
|
51
83
|
});
|
package/dist/ToolbarItem.js
CHANGED
|
@@ -40,7 +40,7 @@ import { transformFortuneToExcel } from "./Transform.js";
|
|
|
40
40
|
export var exportToolBarItem = function (sheetRef) {
|
|
41
41
|
return {
|
|
42
42
|
key: "export",
|
|
43
|
-
tooltip: "
|
|
43
|
+
tooltip: "Export .xlsx",
|
|
44
44
|
icon: ExportIcon(),
|
|
45
45
|
onClick: function (e) { return __awaiter(void 0, void 0, void 0, function () {
|
|
46
46
|
return __generator(this, function (_a) {
|
|
@@ -57,7 +57,7 @@ export var exportToolBarItem = function (sheetRef) {
|
|
|
57
57
|
export var importToolBarItem = function () {
|
|
58
58
|
return {
|
|
59
59
|
key: "import",
|
|
60
|
-
tooltip: "
|
|
60
|
+
tooltip: "Import .xlsx",
|
|
61
61
|
icon: ImportIcon(),
|
|
62
62
|
onClick: function (e) {
|
|
63
63
|
var _a;
|
package/dist/icons/ExportIcon.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
function ExportIcon() {
|
|
3
3
|
return React.createElement("svg", { width: "24", height: "24", fill: "none" },
|
|
4
|
-
React.createElement("path", { d: "M12 14L11.6464 14.3536L12 14.7071L12.3536 14.3536L12 14ZM12.5 5C12.5 4.72386 12.2761 4.5 12 4.5C11.7239 4.5 11.5 4.72386 11.5 5L12.5 5ZM6.64645 9.35355L11.6464 14.3536L12.3536 13.6464L7.35355 8.64645L6.64645 9.35355ZM12.3536 14.3536L17.3536 9.35355L16.6464 8.64645L11.6464 13.6464L12.3536 14.3536ZM12.5 14L12.5 5L11.5 5L11.5 14L12.5 14Z", fill: "#525C6F",
|
|
5
|
-
React.createElement("path", { d: "M5 16L5 17C5 18.1046 5.89543 19 7 19L17 19C18.1046 19 19 18.1046 19 17V16", stroke: "#525C6F",
|
|
4
|
+
React.createElement("path", { d: "M12 14L11.6464 14.3536L12 14.7071L12.3536 14.3536L12 14ZM12.5 5C12.5 4.72386 12.2761 4.5 12 4.5C11.7239 4.5 11.5 4.72386 11.5 5L12.5 5ZM6.64645 9.35355L11.6464 14.3536L12.3536 13.6464L7.35355 8.64645L6.64645 9.35355ZM12.3536 14.3536L17.3536 9.35355L16.6464 8.64645L11.6464 13.6464L12.3536 14.3536ZM12.5 14L12.5 5L11.5 5L11.5 14L12.5 14Z", fill: "#525C6F", strokeWidth: "0.35", stroke: "#525C6F" }),
|
|
5
|
+
React.createElement("path", { d: "M5 16L5 17C5 18.1046 5.89543 19 7 19L17 19C18.1046 19 19 18.1046 19 17V16", stroke: "#525C6F", strokeWidth: "1.25" }));
|
|
6
6
|
}
|
|
7
7
|
export default ExportIcon;
|
package/dist/icons/ImportIcon.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
function ImportIcon() {
|
|
3
3
|
return React.createElement("svg", { width: "24", height: "24", fill: "none" },
|
|
4
|
-
React.createElement("path", { d: "M12 5L11.6464 4.64645L12 4.29289L12.3536 4.64645L12 5ZM12.5 14C12.5 14.2761 12.2761 14.5 12 14.5C11.7239 14.5 11.5 14.2761 11.5 14L12.5 14ZM6.64645 9.64645L11.6464 4.64645L12.3536 5.35355L7.35355 10.3536L6.64645 9.64645ZM12.3536 4.64645L17.3536 9.64645L16.6464 10.3536L11.6464 5.35355L12.3536 4.64645ZM12.5 5L12.5 14L11.5 14L11.5 5L12.5 5Z", fill: "#525C6F", stroke: "#525C6F",
|
|
5
|
-
React.createElement("path", { d: "M5 16L5 17C5 18.1046 5.89543 19 7 19L17 19C18.1046 19 19 18.1046 19 17V16", stroke: "#525C6F",
|
|
4
|
+
React.createElement("path", { d: "M12 5L11.6464 4.64645L12 4.29289L12.3536 4.64645L12 5ZM12.5 14C12.5 14.2761 12.2761 14.5 12 14.5C11.7239 14.5 11.5 14.2761 11.5 14L12.5 14ZM6.64645 9.64645L11.6464 4.64645L12.3536 5.35355L7.35355 10.3536L6.64645 9.64645ZM12.3536 4.64645L17.3536 9.64645L16.6464 10.3536L11.6464 5.35355L12.3536 4.64645ZM12.5 5L12.5 14L11.5 14L11.5 5L12.5 5Z", fill: "#525C6F", stroke: "#525C6F", strokeWidth: "0.35" }),
|
|
5
|
+
React.createElement("path", { d: "M5 16L5 17C5 18.1046 5.89543 19 7 19L17 19C18.1046 19 19 18.1046 19 17V16", stroke: "#525C6F", strokeWidth: "1.25" }));
|
|
6
6
|
}
|
|
7
7
|
export default ImportIcon;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@corbe30/fortune-excel",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"description": "An Excel import/export import library for FortuneSheet",
|
|
5
5
|
"main": "dist/main.js",
|
|
6
6
|
"types": "dist/main.d.ts",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"excel"
|
|
12
12
|
],
|
|
13
13
|
"author": "shashankc1705@gmail.com",
|
|
14
|
-
"homepage": "https://github.
|
|
14
|
+
"homepage": "https://corbe30.github.io/FortuneExcel",
|
|
15
15
|
"repository": {
|
|
16
16
|
"type": "git",
|
|
17
17
|
"url": "git+https://github.com/Corbe30/FortuneExcel.git"
|