@visactor/vtable-export 0.17.3-alpha.0 → 0.17.3-alpha.2
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/cjs/excel/index.js +5 -27
- package/cjs/excel/index.js.map +1 -1
- package/cjs/index.d.ts +4 -4
- package/cjs/index.js +11 -7
- package/cjs/index.js.map +1 -1
- package/dist/vtable-export.js +75787 -119
- package/dist/vtable-export.min.js +91 -36
- package/es/excel/index.js +3 -26
- package/es/excel/index.js.map +1 -1
- package/es/index.d.ts +4 -4
- package/es/index.js +4 -4
- package/es/index.js.map +1 -1
- package/package.json +4 -5
package/cjs/excel/index.js
CHANGED
|
@@ -51,7 +51,11 @@ function exportVTableToExcel(tableInstance) {
|
|
|
51
51
|
const rowHeight = tableInstance.getRowHeight(row);
|
|
52
52
|
worksheet.getRow(row + 1).height = rowHeight;
|
|
53
53
|
}
|
|
54
|
-
|
|
54
|
+
const cellValue = tableInstance.getCellValue(col, row), cellStyle = tableInstance.getCellStyle(col, row), cellType = tableInstance.getCellType(col, row), cell = worksheet.getCell((0,
|
|
55
|
+
encode_1.encodeCellAddress)(col, row));
|
|
56
|
+
cell.value = getCellValue(cellValue, cellType), cell.font = (0, style_1.getCellFont)(cellStyle, cellType),
|
|
57
|
+
cell.fill = (0, style_1.getCellFill)(cellStyle), cell.border = (0, style_1.getCellBorder)(cellStyle),
|
|
58
|
+
cell.alignment = (0, style_1.getCellAlignment)(cellStyle);
|
|
55
59
|
const cellRange = tableInstance.getCellRange(col, row);
|
|
56
60
|
if (cellRange.start.col !== cellRange.end.col || cellRange.start.row !== cellRange.end.row) {
|
|
57
61
|
const key = `${cellRange.start.col},${cellRange.start.row}:${cellRange.end.col},${cellRange.end.row}}`;
|
|
@@ -76,32 +80,6 @@ function exportVTableToExcel(tableInstance) {
|
|
|
76
80
|
}));
|
|
77
81
|
}
|
|
78
82
|
|
|
79
|
-
function addCell(col, row, tableInstance, worksheet, workbook) {
|
|
80
|
-
const cellType = tableInstance.getCellType(col, row), cellValue = tableInstance.getCellValue(col, row), cellStyle = tableInstance.getCellStyle(col, row);
|
|
81
|
-
if ("text" === cellType || "link" === cellType) {
|
|
82
|
-
const cell = worksheet.getCell((0, encode_1.encodeCellAddress)(col, row));
|
|
83
|
-
cell.value = getCellValue(cellValue, cellType), cell.font = (0, style_1.getCellFont)(cellStyle, cellType),
|
|
84
|
-
cell.fill = (0, style_1.getCellFill)(cellStyle), cell.border = (0, style_1.getCellBorder)(cellStyle),
|
|
85
|
-
cell.alignment = (0, style_1.getCellAlignment)(cellStyle);
|
|
86
|
-
} else if ("image" === cellType) {
|
|
87
|
-
const cellImageBase64 = tableInstance.exportCellImg(col, row), imageId = workbook.addImage({
|
|
88
|
-
base64: cellImageBase64,
|
|
89
|
-
extension: "png"
|
|
90
|
-
});
|
|
91
|
-
worksheet.addImage(imageId, {
|
|
92
|
-
tl: {
|
|
93
|
-
col: col + .5,
|
|
94
|
-
row: row + .5
|
|
95
|
-
},
|
|
96
|
-
br: {
|
|
97
|
-
col: col + 1,
|
|
98
|
-
row: row + 1
|
|
99
|
-
},
|
|
100
|
-
editAs: "oneCell"
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
83
|
function getCellValue(cellValue, cellType) {
|
|
106
84
|
return "link" === cellType ? {
|
|
107
85
|
text: cellValue,
|
package/cjs/excel/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["excel/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sDAA8B;AAC9B,2CAAmD;AAEnD,mCAAoF;AAEpF,SAAsB,mBAAmB,CAAC,aAAsB;;QAC9D,MAAM,QAAQ,GAAG,IAAI,iBAAO,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAClD,SAAS,CAAC,UAAU,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAE3C,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,CAAC,CAAC;QACjB,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,CAAC,CAAC;QACjB,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;QAE/B,KAAK,IAAI,GAAG,GAAG,MAAM,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,EAAE,EAAE;YAC3C,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,EAAE,CAAC;YACtC,KAAK,IAAI,GAAG,GAAG,MAAM,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,EAAE,EAAE;gBAC3C,IAAI,GAAG,KAAK,MAAM,EAAE;oBAClB,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;oBAClD,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBAE/C,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC;iBACjC;gBAED,
|
|
1
|
+
{"version":3,"sources":["excel/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sDAA8B;AAC9B,2CAAmD;AAEnD,mCAAoF;AAEpF,SAAsB,mBAAmB,CAAC,aAAsB;;QAC9D,MAAM,QAAQ,GAAG,IAAI,iBAAO,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAClD,SAAS,CAAC,UAAU,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAE3C,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,CAAC,CAAC;QACjB,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,CAAC,CAAC;QACjB,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;QAE/B,KAAK,IAAI,GAAG,GAAG,MAAM,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,EAAE,EAAE;YAC3C,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,EAAE,CAAC;YACtC,KAAK,IAAI,GAAG,GAAG,MAAM,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,EAAE,EAAE;gBAC3C,IAAI,GAAG,KAAK,MAAM,EAAE;oBAClB,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;oBAClD,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBAE/C,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC;iBACjC;gBAED,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACvD,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACvD,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAErD,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAA,0BAAiB,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC5D,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAC/C,IAAI,CAAC,IAAI,GAAG,IAAA,mBAAW,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAC7C,IAAI,CAAC,IAAI,GAAG,IAAA,mBAAW,EAAC,SAAS,CAAC,CAAC;gBACnC,IAAI,CAAC,MAAM,GAAG,IAAA,qBAAa,EAAC,SAAS,CAAC,CAAC;gBACvC,IAAI,CAAC,SAAS,GAAG,IAAA,wBAAgB,EAAC,SAAS,CAAC,CAAC;gBAE7C,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACvD,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE;oBAC1F,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;oBACvG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;wBAC1B,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBACtB,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;qBAC5B;iBACF;aACF;SACF;QAED,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;QAC5B,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC7B,SAAS,CAAC,UAAU,CAClB,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EACvB,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EACvB,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,EACrB,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CACtB,CAAC;QACJ,CAAC,CAAC,CAAC;QAGH,MAAM,UAAU,GAAkC,EAAE,CAAC;QAErD,IAAI,aAAa,CAAC,cAAc,GAAG,CAAC,EAAE;YACpC,UAAU,CAAC,IAAI,CAAC;gBACd,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,aAAa,CAAC,cAAc;gBAEpC,WAAW,EAAE,IAAA,0BAAiB,EAAC,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC;aAChE,CAAC,CAAC;SACJ;QAED,IAAI,aAAa,CAAC,cAAc,GAAG,CAAC,EAAE;YACpC,UAAU,CAAC,IAAI,CAAC;gBACd,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,aAAa,CAAC,cAAc;gBAEpC,WAAW,EAAE,IAAA,0BAAiB,EAAC,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC;aAChE,CAAC,CAAC;SACJ;QAED,SAAS,CAAC,KAAK,GAAG,UAAU,CAAC;QAE7B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjD,OAAO,MAAM,CAAC;IAChB,CAAC;CAAA;AAjFD,kDAiFC;AAED,SAAS,YAAY,CAAC,SAAiB,EAAE,QAAkB;IACzD,IAAI,QAAQ,KAAK,MAAM,EAAE;QACvB,OAAO;YACL,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,SAAS;SACnB,CAAC;KACH;IACD,OAAO,SAAS,CAAC;AACnB,CAAC","file":"index.js","sourcesContent":["import ExcelJS from 'exceljs';\nimport { encodeCellAddress } from '../util/encode';\nimport type { CellType, IVTable } from '../util/type';\nimport { getCellAlignment, getCellBorder, getCellFill, getCellFont } from './style';\n\nexport async function exportVTableToExcel(tableInstance: IVTable) {\n const workbook = new ExcelJS.Workbook();\n const worksheet = workbook.addWorksheet('sheet1');\n worksheet.properties.defaultRowHeight = 40;\n\n const columns = [];\n const minRow = 0;\n const maxRow = tableInstance.rowCount - 1;\n const minCol = 0;\n const maxCol = tableInstance.colCount - 1;\n const mergeCells = [];\n const mergeCellSet = new Set();\n\n for (let col = minCol; col <= maxCol; col++) {\n const colWith = tableInstance.getColWidth(col);\n columns[col] = { width: colWith / 6 };\n for (let row = minRow; row <= maxRow; row++) {\n if (col === minCol) {\n const rowHeight = tableInstance.getRowHeight(row);\n const worksheetRow = worksheet.getRow(row + 1);\n // worksheetRow.height = rowHeight * 0.75;\n worksheetRow.height = rowHeight;\n }\n\n const cellValue = tableInstance.getCellValue(col, row);\n const cellStyle = tableInstance.getCellStyle(col, row);\n const cellType = tableInstance.getCellType(col, row);\n\n const cell = worksheet.getCell(encodeCellAddress(col, row));\n cell.value = getCellValue(cellValue, cellType);\n cell.font = getCellFont(cellStyle, cellType);\n cell.fill = getCellFill(cellStyle);\n cell.border = getCellBorder(cellStyle);\n cell.alignment = getCellAlignment(cellStyle);\n\n const cellRange = tableInstance.getCellRange(col, row);\n if (cellRange.start.col !== cellRange.end.col || cellRange.start.row !== cellRange.end.row) {\n const key = `${cellRange.start.col},${cellRange.start.row}:${cellRange.end.col},${cellRange.end.row}}`;\n if (!mergeCellSet.has(key)) {\n mergeCellSet.add(key);\n mergeCells.push(cellRange);\n }\n }\n }\n }\n\n worksheet.columns = columns;\n mergeCells.forEach(mergeCell => {\n worksheet.mergeCells(\n mergeCell.start.row + 1,\n mergeCell.start.col + 1,\n mergeCell.end.row + 1,\n mergeCell.end.col + 1\n );\n });\n\n // frozen\n const frozenView: ExcelJS.WorksheetViewFrozen[] = [];\n // top frozen\n if (tableInstance.frozenRowCount > 0) {\n frozenView.push({\n state: 'frozen',\n ySplit: tableInstance.frozenRowCount,\n // activeCell: 'A1',\n topLeftCell: encodeCellAddress(0, tableInstance.frozenRowCount)\n });\n }\n // left frozen\n if (tableInstance.frozenColCount > 0) {\n frozenView.push({\n state: 'frozen',\n xSplit: tableInstance.frozenColCount,\n // activeCell: 'A1',\n topLeftCell: encodeCellAddress(tableInstance.frozenColCount, 0)\n });\n }\n // not support bottom&right frozen\n worksheet.views = frozenView;\n\n const buffer = await workbook.xlsx.writeBuffer();\n return buffer;\n}\n\nfunction getCellValue(cellValue: string, cellType: CellType) {\n if (cellType === 'link') {\n return {\n text: cellValue,\n hyperlink: cellValue,\n tooltip: cellValue\n };\n }\n return cellValue;\n}\n"]}
|
package/cjs/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export {
|
|
1
|
+
export { exportVTableToCsv } from './csv';
|
|
2
|
+
export { downloadCsv } from './util/download';
|
|
3
|
+
export { exportVTableToExcel } from './excel';
|
|
4
|
+
export { downloadExcel } from './util/download';
|
package/cjs/index.js
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.downloadExcel = exports.exportVTableToExcel = exports.downloadCsv = exports.exportVTableToCsv = void 0;
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
var csv_1 = require("./csv");
|
|
8
8
|
|
|
9
9
|
Object.defineProperty(exports, "exportVTableToCsv", {
|
|
10
10
|
enumerable: !0,
|
|
@@ -13,25 +13,29 @@ Object.defineProperty(exports, "exportVTableToCsv", {
|
|
|
13
13
|
}
|
|
14
14
|
});
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
var download_1 = require("./util/download");
|
|
17
17
|
|
|
18
18
|
Object.defineProperty(exports, "downloadCsv", {
|
|
19
19
|
enumerable: !0,
|
|
20
20
|
get: function() {
|
|
21
21
|
return download_1.downloadCsv;
|
|
22
22
|
}
|
|
23
|
-
})
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
var excel_1 = require("./excel");
|
|
26
|
+
|
|
27
|
+
Object.defineProperty(exports, "exportVTableToExcel", {
|
|
24
28
|
enumerable: !0,
|
|
25
29
|
get: function() {
|
|
26
|
-
return
|
|
30
|
+
return excel_1.exportVTableToExcel;
|
|
27
31
|
}
|
|
28
32
|
});
|
|
29
33
|
|
|
30
|
-
|
|
34
|
+
var download_2 = require("./util/download");
|
|
31
35
|
|
|
32
|
-
Object.defineProperty(exports, "
|
|
36
|
+
Object.defineProperty(exports, "downloadExcel", {
|
|
33
37
|
enumerable: !0,
|
|
34
38
|
get: function() {
|
|
35
|
-
return
|
|
39
|
+
return download_2.downloadExcel;
|
|
36
40
|
}
|
|
37
41
|
});
|
package/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":[],"mappings":";;;AAAA,6BAA0C;AAAjC,wGAAA,iBAAiB,OAAA;AAC1B,4CAA8C;AAArC,uGAAA,WAAW,OAAA;AAEpB,iCAA8C;AAArC,4GAAA,mBAAmB,OAAA;AAC5B,4CAAgD;AAAvC,yGAAA,aAAa,OAAA","file":"index.js","sourcesContent":["export { exportVTableToCsv } from './csv';\nexport { downloadCsv } from './util/download';\n\nexport { exportVTableToExcel } from './excel';\nexport { downloadExcel } from './util/download';\n"]}
|