@vdhewei/xlsx-template-lib 1.3.4 → 1.4.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/dist/index.d.mts CHANGED
@@ -385,6 +385,7 @@ declare class TokenParserManger {
385
385
  declare function columnLetterToNumber(letter: string): number;
386
386
  declare function columnNumberToLetter(num: number): string;
387
387
  type MacroUnitHelper = (v: string) => string;
388
+ declare const toCellValue: (value: exceljs.CellValue) => string;
388
389
  declare const loadWorkbook: <T extends ArrayBuffer | Buffer | string>(data: T) => Promise<exceljs.Workbook>;
389
390
  declare const scanCellSetPlaceholder: <T extends ArrayBuffer | Buffer | string>(excelBuffer: T, cell: CellPosition & {
390
391
  Sheet: string | number;
@@ -470,4 +471,4 @@ declare const mergeMap: (source: Map<string, string>, dest: Map<string, string>)
470
471
  declare const autoRegisterAlias: (values: Object, configure: RuleResult) => Object;
471
472
  declare const generateCommandsXlsxTemplateWithCompile: <T extends JsZip.OutputType>(data: Buffer, values: Object, compileOptions: AutoOptions, options?: JsZip.JSZipGeneratorOptions<T> & FullOptions) => Promise<OutputByType[T]>;
472
473
 
473
- export { AddCommand, AddCommandMust, type AfterReplaceHook, type Argument, ArgumentData, ArgumentValue, ArgumentValueLoader, type AutoOptions, type BeforeReplaceHook, BufferType, type CellPosition, type CmdFunction, CompileContext, type CompileResult, type CustomFormatter, type CustomPlaceholderExtractor, type CustomReplacer, DefaultPlaceholderCellValue, type DrawingInfo, ExprResolver, type ExtensionOptions, type ExtractMacroArgs, type FilterMacroResult, type FullOptions, type MacroArgs, type MacroUnitHelper, type OutputByType, type Placeholder, type PlaceholderCellValue, type QueryFunction, type Range, type Ref, type RelsInfo, RuleMapOptions, type RuleOptions, type RuleResult, RuleToken, type SheetInfo, type TableInfo, TokenParserManger, Workbook, type WorkbookOptions, autoRegisterAlias, columnLetterToNumber, columnNumberToLetter, commandExtendQuery, compileRuleSheetName, compileWorkSheet, compileWorkSheetPlaceholder, defaultExtractPlaceholders, defaultFormatters, defaultValueDotGet, generateCommandsXlsxTemplate, generateCommandsXlsxTemplateWithCompile, generateXlsxTemplate, getCommands, getTokenParser, hasGeneratorToken, isRuleToken, isUrl, loadCompileSheets, loadWorkbook, mergeMap, parseWorkSheetRules, registerTokenParser, registerTokenParserMust, resolveArgument, scanCellSetPlaceholder, toArrayBuffer, valueDotGet, workSheetSetPlaceholder };
474
+ export { AddCommand, AddCommandMust, type AfterReplaceHook, type Argument, ArgumentData, ArgumentValue, ArgumentValueLoader, type AutoOptions, type BeforeReplaceHook, BufferType, type CellPosition, type CmdFunction, CompileContext, type CompileResult, type CustomFormatter, type CustomPlaceholderExtractor, type CustomReplacer, DefaultPlaceholderCellValue, type DrawingInfo, ExprResolver, type ExtensionOptions, type ExtractMacroArgs, type FilterMacroResult, type FullOptions, type MacroArgs, type MacroUnitHelper, type OutputByType, type Placeholder, type PlaceholderCellValue, type QueryFunction, type Range, type Ref, type RelsInfo, RuleMapOptions, type RuleOptions, type RuleResult, RuleToken, type SheetInfo, type TableInfo, TokenParserManger, Workbook, type WorkbookOptions, autoRegisterAlias, columnLetterToNumber, columnNumberToLetter, commandExtendQuery, compileRuleSheetName, compileWorkSheet, compileWorkSheetPlaceholder, defaultExtractPlaceholders, defaultFormatters, defaultValueDotGet, generateCommandsXlsxTemplate, generateCommandsXlsxTemplateWithCompile, generateXlsxTemplate, getCommands, getTokenParser, hasGeneratorToken, isRuleToken, isUrl, loadCompileSheets, loadWorkbook, mergeMap, parseWorkSheetRules, registerTokenParser, registerTokenParserMust, resolveArgument, scanCellSetPlaceholder, toArrayBuffer, toCellValue, valueDotGet, workSheetSetPlaceholder };
package/dist/index.d.ts CHANGED
@@ -385,6 +385,7 @@ declare class TokenParserManger {
385
385
  declare function columnLetterToNumber(letter: string): number;
386
386
  declare function columnNumberToLetter(num: number): string;
387
387
  type MacroUnitHelper = (v: string) => string;
388
+ declare const toCellValue: (value: exceljs.CellValue) => string;
388
389
  declare const loadWorkbook: <T extends ArrayBuffer | Buffer | string>(data: T) => Promise<exceljs.Workbook>;
389
390
  declare const scanCellSetPlaceholder: <T extends ArrayBuffer | Buffer | string>(excelBuffer: T, cell: CellPosition & {
390
391
  Sheet: string | number;
@@ -470,4 +471,4 @@ declare const mergeMap: (source: Map<string, string>, dest: Map<string, string>)
470
471
  declare const autoRegisterAlias: (values: Object, configure: RuleResult) => Object;
471
472
  declare const generateCommandsXlsxTemplateWithCompile: <T extends JsZip.OutputType>(data: Buffer, values: Object, compileOptions: AutoOptions, options?: JsZip.JSZipGeneratorOptions<T> & FullOptions) => Promise<OutputByType[T]>;
472
473
 
473
- export { AddCommand, AddCommandMust, type AfterReplaceHook, type Argument, ArgumentData, ArgumentValue, ArgumentValueLoader, type AutoOptions, type BeforeReplaceHook, BufferType, type CellPosition, type CmdFunction, CompileContext, type CompileResult, type CustomFormatter, type CustomPlaceholderExtractor, type CustomReplacer, DefaultPlaceholderCellValue, type DrawingInfo, ExprResolver, type ExtensionOptions, type ExtractMacroArgs, type FilterMacroResult, type FullOptions, type MacroArgs, type MacroUnitHelper, type OutputByType, type Placeholder, type PlaceholderCellValue, type QueryFunction, type Range, type Ref, type RelsInfo, RuleMapOptions, type RuleOptions, type RuleResult, RuleToken, type SheetInfo, type TableInfo, TokenParserManger, Workbook, type WorkbookOptions, autoRegisterAlias, columnLetterToNumber, columnNumberToLetter, commandExtendQuery, compileRuleSheetName, compileWorkSheet, compileWorkSheetPlaceholder, defaultExtractPlaceholders, defaultFormatters, defaultValueDotGet, generateCommandsXlsxTemplate, generateCommandsXlsxTemplateWithCompile, generateXlsxTemplate, getCommands, getTokenParser, hasGeneratorToken, isRuleToken, isUrl, loadCompileSheets, loadWorkbook, mergeMap, parseWorkSheetRules, registerTokenParser, registerTokenParserMust, resolveArgument, scanCellSetPlaceholder, toArrayBuffer, valueDotGet, workSheetSetPlaceholder };
474
+ export { AddCommand, AddCommandMust, type AfterReplaceHook, type Argument, ArgumentData, ArgumentValue, ArgumentValueLoader, type AutoOptions, type BeforeReplaceHook, BufferType, type CellPosition, type CmdFunction, CompileContext, type CompileResult, type CustomFormatter, type CustomPlaceholderExtractor, type CustomReplacer, DefaultPlaceholderCellValue, type DrawingInfo, ExprResolver, type ExtensionOptions, type ExtractMacroArgs, type FilterMacroResult, type FullOptions, type MacroArgs, type MacroUnitHelper, type OutputByType, type Placeholder, type PlaceholderCellValue, type QueryFunction, type Range, type Ref, type RelsInfo, RuleMapOptions, type RuleOptions, type RuleResult, RuleToken, type SheetInfo, type TableInfo, TokenParserManger, Workbook, type WorkbookOptions, autoRegisterAlias, columnLetterToNumber, columnNumberToLetter, commandExtendQuery, compileRuleSheetName, compileWorkSheet, compileWorkSheetPlaceholder, defaultExtractPlaceholders, defaultFormatters, defaultValueDotGet, generateCommandsXlsxTemplate, generateCommandsXlsxTemplateWithCompile, generateXlsxTemplate, getCommands, getTokenParser, hasGeneratorToken, isRuleToken, isUrl, loadCompileSheets, loadWorkbook, mergeMap, parseWorkSheetRules, registerTokenParser, registerTokenParserMust, resolveArgument, scanCellSetPlaceholder, toArrayBuffer, toCellValue, valueDotGet, workSheetSetPlaceholder };
package/dist/index.js CHANGED
@@ -71,6 +71,7 @@ __export(index_exports, {
71
71
  resolveArgument: () => resolveArgument,
72
72
  scanCellSetPlaceholder: () => scanCellSetPlaceholder,
73
73
  toArrayBuffer: () => toArrayBuffer,
74
+ toCellValue: () => toCellValue,
74
75
  valueDotGet: () => valueDotGet,
75
76
  workSheetSetPlaceholder: () => workSheetSetPlaceholder
76
77
  });
@@ -3129,6 +3130,29 @@ var toCellRow = (rowVals, setup) => {
3129
3130
  var toCellColumn = (columnVals, setup) => {
3130
3131
  return toCellRow(columnVals, setup);
3131
3132
  };
3133
+ var toCellValue = (value) => {
3134
+ if (typeof value !== "string") {
3135
+ const rText = value;
3136
+ if (rText !== void 0 && rText.richText !== void 0 && rText.richText.length > 0) {
3137
+ const values = [];
3138
+ for (const [_, v] of rText.richText.entries()) {
3139
+ if (v === void 0 || v === null) {
3140
+ continue;
3141
+ }
3142
+ const text = v.text !== void 0 && v.text !== null ? v.text : void 0;
3143
+ if (text !== void 0 && text !== "" && text !== "[object]") {
3144
+ values.push(text.trim());
3145
+ }
3146
+ }
3147
+ return values.join(" ");
3148
+ }
3149
+ const hText = value;
3150
+ if (hText !== void 0 && hText.text !== null && hText.hyperlink !== null) {
3151
+ return `[${hText.text}](${hText.hyperlink})`;
3152
+ }
3153
+ }
3154
+ return value.toString();
3155
+ };
3132
3156
  var resolveCompileMacroExpr = (ctx, macroExpr, macroTokens2, currentCellIndex, totalCells) => {
3133
3157
  if (macroTokens2 === void 0 || macroTokens2.length <= 0) {
3134
3158
  return macroExpr;
@@ -3185,8 +3209,9 @@ var resolveCompileMacroExpr = (ctx, macroExpr, macroTokens2, currentCellIndex, t
3185
3209
  if (cellValue === void 0 || cellValue.value === null) {
3186
3210
  return;
3187
3211
  }
3188
- const value = execMacroFormat(cellValue.value.toString(), formatter);
3189
- parts.push(value);
3212
+ const value = toCellValue(cellValue.value);
3213
+ let exprValue2 = execMacroFormat(value, formatter);
3214
+ parts.push(exprValue2);
3190
3215
  });
3191
3216
  });
3192
3217
  }
@@ -3673,7 +3698,7 @@ var compileWorkSheet = async function(data, sheetName, options) {
3673
3698
  var fetchAlias = (m) => {
3674
3699
  let sv;
3675
3700
  const alias = /* @__PURE__ */ new Map();
3676
- if (!(m instanceof Map) && m.rules !== void 0) {
3701
+ if (m !== void 0 && m !== null && !(m instanceof Map) && m?.rules !== void 0) {
3677
3702
  sv = m.rules;
3678
3703
  } else if (m instanceof Map) {
3679
3704
  if (m.size <= 0 || !m.has("alias" /* AliasToken */)) {
@@ -4074,6 +4099,7 @@ var generateCommandsXlsxTemplateWithCompile = async function(data, values, compi
4074
4099
  resolveArgument,
4075
4100
  scanCellSetPlaceholder,
4076
4101
  toArrayBuffer,
4102
+ toCellValue,
4077
4103
  valueDotGet,
4078
4104
  workSheetSetPlaceholder
4079
4105
  });