UNPKG

@evidential-fortune-sheet/fortune-excel

Version:

An Excel import/export import library for FortuneSheet

109 lines (108 loc) 3.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.alignmentConvert = exports.fontConvert = exports.fillConvert = void 0; var constant_1 = require("../common/constant"); var method_1 = require("../common/method"); var fillConvert = function (bg) { if (!bg) { return null; // return { // type: 'pattern', // pattern: 'solid', // fgColor:{argb:'#ffffff'.replace('#','')} // } } bg = bg.indexOf("rgb") > -1 ? (0, method_1.rgb2hex)(bg) : bg; var fill = { type: "pattern", pattern: "solid", fgColor: { argb: bg.replace("#", "") }, }; return fill; }; exports.fillConvert = fillConvert; var fontConvert = function (ff, fc, bl, it, fs, cl, ul) { if (ff === void 0) { ff = ""; } if (fc === void 0) { fc = "#000000"; } if (bl === void 0) { bl = 0; } if (it === void 0) { it = 0; } if (fs === void 0) { fs = 10; } if (cl === void 0) { cl = 0; } if (ul === void 0) { ul = 0; } // luckysheet:ff(样式), fc(颜色), bl(粗体), it(斜体), fs(大小), cl(删除线), ul(下划线) var luckyToExcel = { 0: "微软雅黑", 1: "宋体(Song)", 2: "黑体(ST Heiti)", 3: "楷体(ST Kaiti)", 4: "仿宋(ST FangSong)", 5: "新宋体(ST Song)", 6: "华文新魏", 7: "华文行楷", 8: "华文隶书", 9: "Arial", 10: "Times New Roman ", 11: "Tahoma ", 12: "Verdana", num2bl: function (num) { return num === 0 ? false : true; }, }; var color = (fc + "").indexOf("rgb") > -1 ? (0, method_1.rgb2hex)(fc) : fc; var font = { name: ff, family: 1, size: fs, color: { argb: color.replace("#", "") }, bold: luckyToExcel.num2bl(bl), italic: luckyToExcel.num2bl(it), underline: luckyToExcel.num2bl(ul), strike: luckyToExcel.num2bl(cl), }; return font; }; exports.fontConvert = fontConvert; var alignmentConvert = function (vt, ht, tb, tr) { if (vt === void 0) { vt = constant_1.ALIGNMENT_DEFAULT; } if (ht === void 0) { ht = constant_1.ALIGNMENT_DEFAULT; } if (tb === void 0) { tb = constant_1.ALIGNMENT_DEFAULT; } if (tr === void 0) { tr = constant_1.ALIGNMENT_DEFAULT; } // luckysheet:vt(垂直), ht(水平), tb(换行), tr(旋转) var luckyToExcel = { vertical: { 0: "middle", 1: "top", 2: "bottom", ALIGNMENT_DEFAULT: "top", }, horizontal: { 0: "center", 1: "left", 2: "right", ALIGNMENT_DEFAULT: "left", }, wrapText: { 0: false, 1: false, 2: true, ALIGNMENT_DEFAULT: false, }, textRotation: { 0: 0, 1: 45, 2: -45, 3: "vertical", 4: 90, 5: -90, ALIGNMENT_DEFAULT: 0, }, }; var alignment = { vertical: luckyToExcel.vertical[vt], horizontal: luckyToExcel.horizontal[ht], wrapText: luckyToExcel.wrapText[tb], textRotation: luckyToExcel.textRotation[tr], }; return alignment; }; exports.alignmentConvert = alignmentConvert;