Как использовать предохранитель js в пользовательских функциях Excel? - PullRequest
0 голосов
/ 10 марта 2020

Я недавно узнал о пользовательских функциях Excel для JS и пытаюсь поэкспериментировать с ними. Я пытаюсь создать пользовательскую функцию, которая будет использовать Fuse JS для выполнения нечетких поисков. Однако это не работает. Я не очень знаком с JS, поэтому извините за мой код. Для справки, вот руководство по использованию предварительно поставленных пользовательских функций: https://docs.microsoft.com/en-us/office/dev/add-ins/excel/custom-functions-overview.

Я добавил Fuse JS в качестве зависимости в пакете. json npm проект, а затем добавил в функцию следующую функцию. js file:

/**
 * Runs fuzzy search with FuseJS.
 * @customfunction
 * @param {string} input string word or sentence to match.
 * @return {string} closest match.
 */

function fuzzysearch(input)

{

  var list = [
  {
    "id": "Great"
  },
  {
    "id": "Super"
  }];

  var options = {
    shouldSort: true,
    tokenize: true,
    includeScore: true,
    threshold: 0.3,
    location: 0,
    distance: 100,
    maxPatternLength: 100,
    minMatchCharLength: 1,
    keys: [
      "id"
    ]
  };

  var fuse = new Fuse(list, options); // "list" is the item array
  var result = fuse.search(input);

  return result;

}

Я пробовал разные комбинации для кода, а также пытался добавить зависимость функции сценария CDN в функцию . html напрямую, но я не могу получить никакого результата. При попытке использовать следующую формулу в Excel я получаю сообщение об ошибке #NAME: "= CONTOSO.FUZZYSEARCH (Super)"

У кого-нибудь есть идеи?

Спасибо!

...